¿Cómo encontrar la versión de un paquete node.js/npm instalado?
Esto imprime la versión de npm en sí:
npm -v <package-name>Esto imprime un error críptico:
npm version <package-name>Esto imprime la versión del paquete en el registro (es decir, la última versión disponible):
npm view <package-name> version¿Cómo obtengo la versión instalada ?
Para ver todos los paquetes instalados local o globalmente, use estos comandos:
npm list para paquetes locales o npm list -g para paquetes instalados globalmente.npm list --depth=0npm list | sls <package name>node -vpackage.json Puede acceder al package.json o bower.json del paquete con:
notepad ./node_modules/:packageName/package.json
Esto abrirá el package.json en el notepad de notas que tiene el version number de :packageName que incluiste en el command .
notepad ./node_modules/vue-template-compiler/package.json
Buena suerte.
Agregué esto a mi .bashrc
function npmv { case $# in # number of arguments passed 0) v="$(npm -v)" ; #store output from npm -v in variable echo "NPM version is: $v"; #can't use single quotes #${v} would also work ;; 1) s="$(npm list --depth=0 $1 | grep $1 | cut -d @ -f 2)"; echo "$s"; ;; 2) case "$2" in # second argument g) #global|#Syntax to compare bash string to literal s="$(npm list --depth=0 -g $1 | grep $1 | cut -d @ -f 2)"; echo "$s"; ;; l) #latest npm view $1 version; #npm info $1 version does same thing ;; *) echo 'Invalid arguments'; ;; esac; ;; *) echo 'Invalid arguments'; ;; esac; } export -f npmvAhora todo lo que tengo que hacer es escribir:
NPM version is: 4.2.00.8.080.8.090.8.10Nota: -d en el comando de corte significa delimitar por, seguido de @, luego f significa campo, el 2 significa segundo campo, ya que habrá uno a cada lado del símbolo @.
Aquí hay un Unix portátil (que usa grep y sed ) de una sola línea que devuelve la cadena de versión de un paquete npm instalado globalmente (elimine la g de -pg para consultar paquetes locales en su lugar):
$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//' 0.4.5npm ll genera una cadena analizable formateada como: /usr/lib/node_modules/npm:npm@2.14.8: ;grep extrae el valor entre @ y : , inclusive;sed elimina los caracteres circundantes.Puede usar npm view [módulo] versión , npm info [módulo] versión , npm show [módulo] versión o npm v [módulo] versión para verificar la versión en un módulo npm instalado.
Supongamos que la versión de mi módulo grunt es la 0.4.5:
npm view grunt version => 0.4.5 npm info grunt version => 0.4.5 npm show grunt version => 0.4.5 npm v grunt version => 0.4.5Prueba con:
npm list --depth 1 --global packagenameacabo de usar
npm list | grep <package name>y funcionó muy bien
En Windows ejecutar:
npm list | find <package name>En PowerShell ejecutar:
npm list | sls <package name>Si eres lo suficientemente valiente (y tienes un node instalado), siempre puedes hacer algo como:
echo "console.log(require('./package.json').version);" | nodeEsto imprimirá la versión del paquete actual. También puedes modificarlo para volverte loco, así:
echo "eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node Eso imprimirá la versión del paquete WHATEVER_PACKAGE_NAME , que es visto por npm version .
Desde la raíz del paquete hacer:
node -p "require('./package.json').version" EDITAR : (por lo que debe ingresar al directorio de inicio del módulo si aún no está allí. Si ha instalado el módulo con cd npm install , entonces estará en node_modules/<module_name> )
EDITAR 2 : actualizado según la respuesta de @ jeff-dickey
npm list para paquetes locales o npm list -g para paquetes instalados globalmente.
Puede encontrar la versión de un paquete específico pasando su nombre como argumento. Por ejemplo, npm list grunt dará como resultado:
projectName@projectVersion /path/to/project/folder └── grunt@0.4.1 Alternativamente, puede simplemente ejecutar npm list sin pasar un nombre de paquete como argumento para ver las versiones de todos sus paquetes:
├─┬ cli-color@0.1.6 │ └── es5-ext@0.7.1 ├── coffee-script@1.3.3 ├── less@1.3.0 ├─┬ sentry@0.1.2 │ ├── file@0.2.1 │ └── underscore@1.3.3 └── uglify-js@1.2.6 También puede agregar el argumento --depth=0 para enumerar los paquetes instalados sin sus dependencias.
Otra forma rápida de saber qué paquetes están instalados localmente y sin sus dependencias es usar:
npm list --depth=0Lo que te da algo como
├── bower@0.8.6 ├── grunt@0.4.1 ├── grunt-bower-requirejs@0.4.3 ├── grunt-contrib-clean@0.4.1 ├── grunt-contrib-coffee@0.7.0 ├── grunt-contrib-copy@0.4.1 ├── grunt-contrib-imagemin@0.1.4 ├── grunt-contrib-jshint@0.1.1 ├── grunt-contrib-livereload@0.1.2 ├── grunt-contrib-requirejs@0.4.1 ├── grunt-regarde@0.1.1 └── grunt-svgmin@0.1.0 Obviamente, lo mismo se puede hacer globalmente con npm list -g --depth=0 .
Este método es más claro si ha instalado muchos paquetes.
Para averiguar qué paquetes deben actualizarse, puede usar npm outdated -g --depth=0 .
Si acepta instalar jq , puede usar la salida JSON de npm list .
npm -j ls <package-name> | jq -r .versiono, si quieres ser detallado
npm --json list <package-name> | jq --raw-output '.version'Por ejemplo:
$ npm -j ls ghost | jq -r .version 0.4.2Además, el formato JSON es ligeramente diferente para los paquetes globales, por lo que deberá cambiar la consulta.
Por ejemplo:
$ npm -j -g ls | jq -r .dependencies.ghost.version 0.4.2npm view <package> version : devuelve la última versión disponible en el paquete.
npm list --depth=0 - devuelve versiones de todos los módulos instalados sin dependencias.
npm list : devuelve versiones de todos los módulos y dependencias.
Y, por último, para obtener la versión del nodo: node -v
npm info YOUR_PACKAGE versionp.ej
npm info grunt version 0.4.5He visto algunas respuestas muy creativas, pero puede hacer esto (para paquetes globales, agregue el interruptor --global):
npm ls packageEjemplo:
npm ls babel-cli `-- babel-cli@6.26.0La documentación de npm dice que npm -ls
Este comando imprimirá en la salida estándar todas las versiones de los paquetes que están instalados, así como sus dependencias, en una estructura de árbol.
Si desea buscar un módulo en particular instalado globalmente, en los sistemas * nix use:
npm list -g --depth=0 | grep <module_name>Puede ver package.json para ver la versión de los paquetes instalados
Para obtener la lista en la línea de comando
npm ls
Le dará todos los paquetes instalados en un proyecto con sus respectivas versiones.
Para una versión de paquete particular
npm ls <package-name>por ejemplo
npm ls nextdevolverá la versión
-- next@10.1.3También puede ver package.json manualmente en un editor de texto, ver qué paquetes son dependencias. Use esto si npm list no funciona como una alternativa manual.
Hay una manera simple de hacer esto. primero, vaya a la ubicación deseada (donde se encuentra el package.json ). y simplemente abrir el archivo package.json como editor de texto.
por este método, puede encontrar todas las versiones del módulo en un solo lugar
package.json se ve así
{ "name": "raj", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "bcrypt": "^5.0.1", "connect-flash": "^0.1.1", "dotenv": "^10.0.0", "ejs": "^3.1.6", "express": "^4.17.1", "express-session": "^1.17.2", "mysql2": "^2.2.5", "passport": "^0.4.1", "passport-local": "^1.0.0", "sequelize": "^6.6.2", "socket.io": "^4.1.2" } } para que pueda leer todas las dependencias instaladas (módulos) en su PC
es decir "socket.io": "^4.1.2" por lo que 'socket.io' tiene la versión 4.1.2
npm list package-name proporciona la versión instalada actualmente
npm view <package-name> version npm view redux versionTengo la versión 7.2.0 de redux.
npm list --depth 0 es el comando que muestra todas las bibliotecas con versión pero puede usar npm-check
npm-check es una buena biblioteca para administrar todas esas cosas relacionadas con el evento del sistema de versiones, mostrará las versiones de las bibliotecas, la actualización de la nueva versión, la versión no utilizada y muchas más.
para instalarlo solo ejecuta
npm install -g npm-checky simplemente corre
npm-checkverifique la captura de pantalla que muestra todo sobre la versión del paquete, la actualización de la nueva versión y la versión no utilizada.
También funciona globalmente. darle una oportunidad. Espero que esto ayude a alguien.
Para enumerar los paquetes locales con el uso del número de versión:
npm ls --depth=0
Para enumerar paquetes globales con el uso del número de versión:
npm ls -g --depth=0
Podemos usar npm view any-promise (el nombre de su módulo) -v
Para paquetes locales
npm list --depth=0Para paquetes globales
npm list -g --depth=0He creado una herramienta que hace exactamente eso: qnm
node_modules .Instálalo usando:
npm i --global qnmy correr:
qnm [module]por ejemplo:
> qnm lodash lodash ├── 4.17.5 ├─┬ cli-table2 │ └── 3.10.1 └─┬ karma └── 3.10.1 Lo que significa que tenemos lodash instalado en la raíz de node_modules y otras dos copias en node_modules de cli-table2 y karma .
Es realmente rápido y tiene algunas características interesantes como la finalización de pestañas y la búsqueda de coincidencias.
La combinación de algunas de las respuestas anteriores produce una búsqueda súper simple y súper rápida.
Ejecutar desde la raíz del proyecto. No hay necesidad de cd en ninguna carpeta, solo 1 línea:
node -p "require('SOMEPACKAGE/package.json').version"
También puede verificar la versión con este comando:
npm info <package name> version
Puede probar esto: npm show {package} version muestra la última versión del paquete. Y si su paquete está desactualizado, npm outdated lo mostrará con la información de la versión.
Esta es una pregunta simple, y debería tener una respuesta más simple que la que veo arriba.
Para ver los paquetes npm instalados con su versión, el comando es npm ls --depth=0 , que, de forma predeterminada, muestra lo que está instalado localmente. Para ver los paquetes instalados globalmente, agregue el argumento -global : npm ls --depth=0 -global .
--depth=0 devuelve una lista de paquetes instalados sin sus dependencias, que es lo que desea hacer la mayor parte del tiempo.
ls es el nombre del comando y list es un alias para ls .
Todas las respuestas son sobre npm
Así es como se hace usando yarn .
Para poder ayudar si alguien necesita.
Puede detectar la versión exacta del módulo en ejecución con los siguientes comandos:
yarn list => enumera todas las dependencias
yarn list --depth=0 => Para restringir la profundidad de las dependencias , use la --depth .
Para obtener SOLO el número de la versión instalada, intente:
npm lista -g --profundidad=0 nombre del paquete | nombre del paquete grep | cortar -d'@' -f2
por ejemplo, número de versión instalada de PM2:
lista npm -g --profundidad=0 pm2 | grep pm2 | cortar -d'@' -f2
Simplemente revise su archivo package.json.
"dependencies": { "ajv": "^8.9.0", "ajv-keywords": "^5.1.0", "fastify": "^3.27.0"estoy usando
lista npm --profundidad=0 | grep module_name@
me trae resultados como este
├── nombre_módulo@2.1033.0
npx ejecuta comandos en un entorno run-script-like npm, con todas las variables de entorno habituales disponibles. Por lo tanto, también puedes usar algo como
npx -c 'node -p "process.env.npm_package_version"'