Cómo administrar paquetes de NodeJS usando Npm

Hace un tiempo, hemos publicado una guía para administrar paquetes de Python usando PIP . Hoy, vamos a discutir cómo administrar paquetes de NodeJS usando Npm. NPM es el registro de software más grande que contiene más de 600 000 paquetes. Todos los días, los desarrolladores de todo el mundo comparten y descargan paquetes a través de npm. En esta guía, explicaré los conceptos básicos para trabajar con npm, como instalar paquetes (local y globalmente), instalar cierta versión de un paquete, actualizar, eliminar y administrar paquetes de NodeJS, etc.

Instalación de NPM

Dado que npm está escrito en NodeJS, necesitamos instalar NodeJS para poder usar npm. Para instalar NodeJS en diferentes distribuciones de Linux, consulte el siguiente enlace.

  • Cómo instalar NodeJS en Linux

Una vez instalado, asegúrese de que NodeJS y NPM se hayan instalado correctamente. Hay un par de maneras de hacer esto.

Para verificar dónde se ha instalado el nodo, ejecute el siguiente comando:

                      
                        $ which node
                      
                      
/home/sk/.nvm/versions/node/v9.4.0/bin/node
                    

Consulta su versión:

                      $ node -v
v9.4.0
                    

Inicie sesión en la sesión de Node REPL:

                      
                        $ node
                      
                      
> .help
.break Sometimes you get stuck, this gets you out
.clear Alias for .break
.editor Enter editor mode
.exit Exit the repl
.help Print this help message
.load Load JS from a file into the REPL session
.save Save all evaluated commands in this REPL session to a file
> .exit
                    

Compruebe dónde se instaló npm:

                      
                        $ which npm
                      
                      
/home/sk/.nvm/versions/node/v9.4.0/bin/npm
                    

Y la versión:

                      
                        $ npm -v
                      
                      
5.6.0
                    

¡Genial! ¡Node y NPM se han instalado y funcionan! Como habrás notado, instalé NodeJS y NPM en mi directorio $HOME para evitar problemas de permisos al instalar módulos globalmente. Este es el método recomendado por el equipo de NodeJS.

Bueno, sigamos adelante para ver cómo administrar los módulos (o paquetes) de NodeJS usando npm.

Administrar paquetes de NodeJS usando Npm

Instalación de módulos de NodeJS

Los módulos de NodeJS se pueden instalar de forma local o global (en todo el sistema). Ahora voy a mostrar cómo instalar un paquete localmente.

Instalar paquetes localmente

Para administrar paquetes localmente, normalmente usamos paquete.json expediente.

Primero, vamos a crear nuestro directorio de proyectos.

                      $ mkdir demo
                    
                      $ cd demo
                    

Cree un archivo package.json dentro del directorio de su proyecto. Para hacerlo, ejecuta:

                      $ npm init
                    

Enter los detalles de su paquete, como el nombre, la versión, el autor, la página de github, etc., o simplemente presione la tecla ENTER para aceptar los valores predeterminados y escriba para confirmar.

                      This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (demo) 
version: (1.0.0) 
description: demo nodejs app
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/sk/demo/package.json:

{
 "name": "demo",
 "version": "1.0.0",
 "description": "demo nodejs app",
 "main": "index.js",
 "scripts": {
 "test": "echo "Error: no test specified" && exit 1"
 },
 "author": "",
 "license": "ISC"
}

Is this ok? (yes) yes
                    

El comando anterior inicializa su proyecto y crea el archivo package.json.

También puede hacer esto de forma no interactiva usando el comando:

                      $ npm init --y
                    

Esto creará un archivo package.json rápidamente con valores predeterminados sin la interacción del usuario.

Ahora vamos a instalar el paquete llamado comandante .

                      $ npm install commander
                    

Salida de muestra:

                      npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No repository field.

+ [email protected]
added 1 package in 2.519s
                    

Esto creará un directorio llamado “módulos_nodos” (si aún no existe) en el directorio raíz del proyecto y descargue los paquetes en él.

Revisemos el archivo package.json.

                      
                        $ cat package.json
                      
                       
{
 "name": "demo",
 "version": "1.0.0",
 "description": "demo nodejs app",
 "main": "index.js",
 "scripts": {
 "test": "echo "Error: no test specified" && exit 1"
 },
 "author": "",
 "license": "ISC",
 
                      
                        "dependencies": {
                      
                      
                         "commander": "^2.13.0"
                      
                      
 }
}
                    

Verá que se han agregado las dependencias. el símbolo de intercalación ( ^ El símbolo ) al frente del número de versión indica que al instalar, npm extraerá la versión más alta del paquete que pueda encontrar.

                      
                        $ ls node_modules/
                      
                      
commander
                    

La ventaja del archivo package.json es que si tenía el archivo package.json en el directorio de su proyecto, puede simplemente escribir “npm install”, luego npm buscará las dependencias que se enumeran en el archivo y las descargará todas. Incluso puede compartirlo con otros desarrolladores o insertarlo en su repositorio de GitHub, de modo que cuando escriban “npm install”, obtendrán los mismos paquetes que usted tiene.

También puede notar otro archivo json llamado paquete-bloqueo.json . Este archivo garantiza que las dependencias sigan siendo las mismas en todos los sistemas en los que está instalado el proyecto.

Para usar el paquete instalado en su programa, cree un archivo índice.js (o cualquier nombre que elija) en el directorio del proyecto con el código real, y luego ejecútelo usando el comando:

                      $ node index.js
                    

Instalar paquetes globalmente

Si desea utilizar un paquete como herramienta de línea de comandos, es mejor instalarlo globalmente. De esta manera, funciona sin importar qué directorio sea su directorio actual.

                      
                        $ npm install async -g
                      
                      
+ [email protected]
added 2 packages in 4.695s
                    

O,

                      $ npm install async --global
                    

Para instalar una versión específica de un paquete, hacemos:

                      $ npm install [email protected] --global
                    

Actualización de módulos de NodeJS

Para actualizar los paquetes locales, vaya al directorio del proyecto donde se encuentra el paquete.json y ejecute:

                      $ npm update
                    

Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes se hayan actualizado.

                      $ npm outdated
                    

Si no hay actualización, entonces no devuelve nada.

Para averiguar qué paquetes globales deben actualizarse, ejecute:

                      $ npm outdated -g --depth=0
                    

Si no hay salida, todos los paquetes se actualizan.

Para actualizar un paquete global único, ejecute:

                      $ npm update -g <package-name>
                    

Para actualizar todos los paquetes globales, ejecute:

                      $ npm update -g <package>
                    

Listado de módulos de NodeJS

Para listar los paquetes locales, vaya al directorio del proyecto y ejecute:

                      
                        $ npm list
                      
                      
[email protected] /home/sk/demo
└── [email protected]
                    

Como ves, he instalado el paquete “comandante” en modo local.

Para enumerar paquetes globales, ejecute este comando desde cualquier ubicación:

                      $ npm list -g
                    

Salida de muestra:

                      /home/sk/.nvm/versions/node/v9.4.0/lib
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
[...]
                    

Este comando enumerará todos los módulos y sus dependencias.

Para enumerar solo los módulos de nivel superior, use la opción –depth=0:

                      
                        $ npm list -g --depth=0
                      
                      
/home/sk/.nvm/versions/node/v9.4.0/lib
├── [email protected]
└── [email protected]
                    

Buscando módulos de NodeJS

Para buscar un módulo, use el comando “npm search”:

                      npm search <search-string>
                    

Ejemplo:

                      $ npm search request
                    

Este comando mostrará todos los módulos que contienen la cadena de búsqueda “solicitud”.

Quitar módulos de NodeJS

Para eliminar un paquete local, vaya al directorio del proyecto y ejecute el siguiente comando para eliminar el paquete de su node_modules directorio:

                      $ npm uninstall <package-name>
                    

Para eliminarlo de las dependencias en paquete.json archivo, utilice el salvar bandera como a continuación:

                      $ npm uninstall --save <package-name>

                    

Para eliminar los paquetes instalados globalmente, ejecute:

                      $ npm uninstall -g <package>
                      
                    

Limpieza de caché de NPM

De manera predeterminada, NPM mantiene la copia de un paquete instalado en la carpeta de caché denominada npm en su directorio $HOME al instalarlo. Por lo tanto, puede instalarlo la próxima vez sin tener que descargarlo nuevamente.

Para ver los módulos almacenados en caché:

                      $ ls ~/.npm
                    

La carpeta de caché se inunda con todos los paquetes antiguos con el tiempo. Es mejor limpiar el caché de vez en cuando.

A partir de [email protected], la memoria caché npm se recupera automáticamente de los problemas de corrupción y se garantiza que los datos extraídos de la memoria caché son válidos. Si quiere asegurarse de que todo sea consistente, ejecute:

                      $ npm cache verify
                    

Para borrar todo el caché, ejecute:

                      $ npm cache clean --force
                    

Visualización de la configuración de NPM

Para ver la configuración de npm, escriba:

                      $ npm config list
                    

O,

                      $ npm config ls
                    

Salida de muestra:

                      ; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v9.4.0 linux x64"

; node bin location = /home/sk/.nvm/versions/node/v9.4.0/bin/node
; cwd = /home/sk
; HOME = /home/sk
; "npm config ls -l" to show all defaults.
                    

Para mostrar la ubicación global actual:

                      
                        $ npm config get prefix
                      
                      
/home/sk/.nvm/versions/node/v9.4.0
                    

Y, eso es todo por ahora. Lo que acabamos de cubrir aquí es solo lo básico. La NPM es un tema muy amplio. Para obtener más detalles, diríjase a la Introducción a NPM guía.

¡Gracias por pasar!

Ayúdanos a ayudarte:

¡¡Que tenga un buen día!!

Related Posts