¿Cómo enumerar los paquetes npm instalados por el usuario?


630

¿Cómo enumero SOLO el paquete instalado por el usuario npm? Cuando lo hago npm -g list, genera todos los paquetes y sus dependencias, que no es lo que quiero.

Respuestas:


1247

Esto también funciona bastante bien: npm list -g --depth=0

  • npm : la herramienta de línea de comandos del administrador de paquetes de nodo
  • list -g : muestra un árbol de cada paquete encontrado en las carpetas del usuario (sin la opción -g solo muestra los paquetes del directorio actual)
  • profundidad 0 / - profundidad = 0 : evite incluir las dependencias de cada paquete en la vista de árbol

Devuelve el resultado vacío. Mi versión npm es 3.6.0.
Bagusflyer

44
¿Por qué la --depth=0opción no se menciona cuando ejecuto npm help ls?
Marecky

Si instala sus módulos en otra carpeta usando --prefix, entonces necesita agregar el --prefixtambién en este npm listcomando.
Sany Liew

1
También podría ser bueno agregar | grep -v "duped"para eliminar dependencias duplicadas en la lista
Spencer Pollock

1
Funcionó perfectamente en ventanas.
soleado prakash

132

Puede obtener una lista de todos los módulos instalados globalmente usando:

ls `npm root -g`


13
ls -lh `npm root -g`los muestra en una buena lista.
LanceLafontaine

3
Esta solución es mucho más rápida que la más votada.
DarkNeuron

3
Esta solución es buena pero npm list -g --depth=0 imprime la versión que es buena. De todos modos, no sabía sobre este comando, así que +1 para eso.
pixel 67

3
npm root -g | gcien Powershell en Windows
Lars

1
esto no funciona para los módulos @scoped
Franz Sittampalam

113

A partir del 13 de diciembre de 2015

Ilustración de la lista npm

Si bien encontré que la respuesta aceptada era 100% correcta y útil, deseaba ampliarla un poco en función de mis propias experiencias y, con suerte, también en beneficio de los demás. (Aquí estoy usando los términos paquete y módulo indistintamente)

En respuesta a la pregunta, sí, la respuesta aceptada sería:

npm list -g --depth=0

Es posible que desee verificar un módulo en particular instalado globalmente, en sistemas * nix / cuando grep esté disponible. Esto es particularmente útil cuando se verifica qué versión de un módulo está utilizando (instalado globalmente, simplemente elimine el indicador -g si verifica un módulo local):

npm list -g --depth=0 | grep <module_name>

Si desea ver todas las versiones (remotas) disponibles para un módulo en particular, haga lo siguiente:

npm view <module_name> versions

Nota, las versiones son plurales. Esto le dará la lista completa de versiones para elegir.

Para la última versión remota:

npm view <module_name> version  

Nota, la versión es singular.

Para saber qué paquetes deben actualizarse, puede usar

npm outdated -g --depth=0

Para actualizar paquetes globales, puede usar

npm update -g <package>

Para actualizar todos los paquetes globales, puede usar:

npm update -g

(Sin embargo, para las versiones de npm anteriores a 2.6.1, consulte también este enlace, ya que hay un script especial que se recomienda para actualizar globalmente todos los paquetes).

Los comandos anteriores deberían funcionar en las versiones NPM 1.3.x, 1.4.x, 2.xy 3.x


Para actualizar un paquete global específica: npm update -g <package>. Creo que updatees preferible installaquí porque npm será inteligente y realizará la instalación solo si el paquete especificado está desactualizado.
Robin A. Meade

1
@Talespin_Kit probablemente screentogif
forresthopkinsa

@Talespin_Kit ShareX es FANTÁSTICO para crear y compartir capturas de pantalla de gif (y cualquier otra captura de pantalla).
Aaron Bell


20

Para dependencias del proyecto, use:

npm list --depth=0

Para dependencias globales use:

npm list -g --depth=0

17
npm ls

npm list es solo un alias para npm ls

Para la información extendida use

npm la    
npm ll

Siempre puede establecer --depth=0al final para obtener el primer nivel de profundidad.

npm ls --depth=0

Puede consultar los paquetes de desarrollo y producción.

npm ls --only=dev
npm ls --only=prod

Para mostrar la información en jsonformato

npm ls --json=true

El valor predeterminado es false

npm ls --json=false

Puede insistir en un formato largo para mostrar información extendida.

npm ls --long=true

Puede mostrar la salida analizable en lugar de la vista de árbol.

npm ls --parseable=true

Puede enumerar paquetes en el prefijo de instalación global en lugar de en el proyecto actual.

npm ls --global=true
npm ls -g // shorthand

La documentación completa se puede encontrar aquí .


8

Nodo tiene un concepto de módulos locales y módulos globales

Los módulos locales se encuentran dentro del directorio actual del proyecto.

Los módulos globales generalmente se encuentran en el directorio de inicio del usuario, aunque podemos cambiar la ruta donde residen los módulos globales.

  1. Enumera los módulos locales dentro del directorio actual: npm list
  2. Enumera módulos globales: npm list --globalO npm list --g // Enumerará todos los módulos de nivel superior con sus dependencias.
  3. Enumere solo los módulos globales de nivel superior (módulos instalados): npm list -g --depth=0

7

Una forma podría ser encontrar el directorio raíz de los módulos usando:

npm root
/Users/me/repos/my_project/node_modules

Y luego enumere ese directorio ...

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint

Los paquetes instalados por el usuario en este caso son grunt y grunt-contrib-jshint


1
¿Por qué no usar el comando npm incorporado oficial? npm list -g --depth=0
Kukks

De esta manera podría ayudar al desarrollador a comprender lo que sucede debajo del capó
obimod

1
Esto no es 100% correcto. Cuando ejecuto el comando npm root me dice: Users/me/node_modules cuál no es correcto. My node_modules vive en otro lugar. Supongo que depende de cómo instales el nodo. Yo uso brewpara instalar mi software. Supongo que esto es si instalas el nodo desde su sitio web usando su instalador de paquetes.
pixel 67

Creo que depende de las variables de su entorno. Echa un vistazo a los $ NPM ... vars establecidos en tu entorno. Tengo una configuración personalizada, usando virtualenv y el enlace de activación para reescribir completamente $ PATH desde cero dependiendo de lo que use el proyecto.
obimod

2
Para mí, mi npm se rompió, así que no pude usar los comandos. Quería hacer una reinstalación completa, así que necesitaba saber qué paquetes había instalado globalmente para reconstruir.
bryjohns


5

Utilizo npm -g outdated --depth=0para enumerar versiones desactualizadas
en el espacio global.


3

Node_modules contiene paquetes instalados por el usuario, así que cambie el directorio a node_modules y enumere los elementos. Los módulos principales se definen en la fuente del nodo en la lib/carpeta.

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq


2

Usar npm listy filtrar por contiene usandogrep

Ejemplo:

npm list -g | grep name-of-package

2

Como taquigrafía, puede ejecutar:

npm ls -g --depth=0

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.