que-es-y-como-usar-npx-en-npm

Qué es y cómo usar NPX

NPX es un ejecutor de comandos de Node.js que se introdujo en NPM versión 5.2.0. Su nombre es un acrónimo de “Node Package eXecutor” y su objetivo principal es facilitar la ejecución de comandos de paquetes sin tener que instalarlos globalmente.

NPX es ha sido una mejora importante en el entorno de Node.js y NPM. Nos permite ejecutar comandos de paquetes sin necesidad de instalarlos globalmente, lo que simplifica la gestión de dependencias y mejora la portabilidad de los proyectos.

En resumen, la herramienta NPX resuelve automáticamente la ubicación del paquete y lo ejecuta, sin tener que instalarlo. Lo que ya sabemos que pueden generar conflictos entre proyectos, o darnos problemas al compartir proyectos entre equipos y/o personas.

Ventajas de usar NPX en un curso de NPM

NPX ofrece varias ventajas en el ámbito de un curso de NPM. Algunas de ellas son:

  • Evita la instalación global de paquetes: Con NPX no es necesario instalar globalmente los paquetes. Tu ordenador, más limpito y más feliz 😉.

  • Evita conflictos de dependencias: Al no instalar paquetes globalmente, nos evita conflictos de dependencias entre diferentes proyectos.

  • Facilita la gestión de versiones de paquetes: NPX permite ejecutar comandos con versiones específicas de paquetes.

Instalación de NPX

NPX viene preinstalado con NPM desde la versión 5.2.0, por lo que no es necesario instalarlo por separado.

Puedes comprobar que lo tienes correctamente instalado ejecutando este comando.

npx -v

Uso básico de NPX

La forma más simple de usar NPX es ejecutar un comando seguido del nombre del paquete que deseas ejecutar.

npx <comando> <parametros>

Por ejemplo, imaginemos que creemos ejecutar el comando create-react-app, que crea una nueva aplicación del React. El autor del paquete pone a nuestra disposición esta herramienta.

Anteriormente, tendríamos que haber instalado el paquete de forma global,

npm install -g create-react-app

Pero con NPX, podemos hacerlo mismo de la siguiente forma,

npx create-react-app mi-aplicacion

En este caso, NPX buscará el paquete create-react-app en los directorios locales. Si no lo encuentra, lo descargará temporalmente, lo ejecutará y lo eliminará después de su uso.

Esto significa que no se instalará permanentemente en tu sistema ningún fichero, lo cuál es una ventaja muy importante respecto al método anterior de instalación global, que te obligaba a ir instalando cosas y más cosas por tu equipo.

Ejecutando comandos específicos de un paquete

NPX también permite ejecutar comandos específicos de un paquete sin necesidad de instalar el paquete en sí.

Puedes usar la sintaxis npm <paquete> <comando> para ejecutar un comando específico de un paquete en particular.

Por ejemplo, si tienes un paquete llamado mi-paquete que proporciona un comando mi-comando, puedes ejecutarlo directamente usando NPX de la siguiente manera:

NPX mi-paquete mi-comando

Ejecutando comandos con versiones específicas

Además de ejecutar comandos de paquetes sin instalarlos globalmente, NPX también nos permite especificar la versión de un paquete que deseamos utilizar.

Esto puede ser útil cuando necesitamos ejecutar comandos con versiones específicas para garantizar la compatibilidad o probar nuevas funcionalidades.

Para ejecutar un comando con una versión específica de un paquete, puedes utilizar la siguiente sintaxis:

npx <paquete>@<versión> <comando>

Por ejemplo, si deseas ejecutar el comando mi-comando de la versión 1.0.0 de mi-paquete, puedes hacerlo de la siguiente manera:

npx mi-paquete@1.0.0 mi-comando

NPX descargará temporalmente la versión 1.0.0 de mi-paquete, ejecutará el comando mi-comando y lo eliminará después de su uso.