GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar paquetes de NodeJS usando Npm

Hace un tiempo, publicamos 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 comprobar dónde se ha instalado el nodo, ejecute el siguiente comando:

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

Comprueba 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

¡Estupendo! ¡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 package.json archivo.

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, ejecute:

$ npm init

Ingrese 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 instalemos el paquete llamado commander .

$ 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 "node_modules" (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 signo de intercalación (^ ) 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 package-lock.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 index.js (o cualquier nombre de su elección) 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 ninguna actualización, no devuelve nada.

Para averiguar qué paquetes globales deben actualizarse, ejecute:

$ npm outdated -g --depth=0

Si no hay resultados, 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>

Lista 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 "commander" 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, utilice -- depth=0 opción:

$ 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".

Eliminar módulos de NodeJS

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

$ npm uninstall <package-name>

Para eliminarlo de las dependencias en package.json archivo, use el botón guardar marca 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 volver a descargarlo.

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é de npm se recupera automáticamente de los problemas de corrupción y se garantiza que los datos extraídos de la memoria caché sean válidos. Si quiere asegurarse de que todo sea coherente, ejecute:

$ npm cache verify

Para borrar todo el caché, ejecute:

$ npm cache clean --force

Ver 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 Introducción a NPM guía.


Linux
  1. Firewall Raspberry Pi:cómo instalarlo y administrarlo mediante UFW

  2. ¿Cómo instalar paquetes Npm en Nixos?

  3. Cómo administrar los permisos de Flatpak gráficamente usando Flatseal

  4. ¿Cómo se administran los paquetes en Ubuntu?

  5. Cómo instalar npm en alpine linux

Cómo administrar AWS Cloudwatch usando aws-cli

Cómo instalar y administrar paquetes en CentOS usando RPM

Cómo administrar versiones de Nodejs con n en Linux

Cómo administrar paquetes de Python usando PIP

Cómo instalar paquetes de forma segura usando Npm o Yarn en Linux

Cómo instalar los últimos NodeJS y NPM en Linux