Вопрос: Найдите версию установленного пакета npm


Как найти версию установленного узла.js / npm пакет ?

Это выводит версию самой версии npm:

npm -v <package-name>

Это печатает загадочную ошибку:

npm version <package-name>

Это печатает версию пакета в реестре (т. е. доступна последняя версия):

npm view <package-name> version

Как получить установленная версия ?


1520


источник


Ответы:


npm listдля местных пакетов или npm list -gдля общедоступных пакетов.

Вы можете найти версию определенного пакета, передав его имя в качестве аргумента. Например, npm list gruntприведет к:

projectName@projectVersion /path/to/project/folder
└── grunt@0.4.1

Кроме того, вы можете просто запустить npm listбез передачи имени пакета в качестве аргумента для просмотра версий всех ваших пакетов:

├─┬ 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 

1875



Еще один быстрый способ узнать, какие пакеты установлены в местном масштабе а также без их зависимостей заключается в использовании:

npm list --depth=0

Что дает вам что-то вроде

├── 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

Очевидно, что то же самое можно сделать глобально с npm list -g --depth=0,

Этот метод более ясен, если вы установили множество пакетов.

Чтобы узнать, какие пакеты необходимо обновить, вы можете использовать npm outdated -g --depth=0,


691



npm view <package> version- возвращает последнюю доступную версию пакета.

npm list --depth=0- возвращает версии всех установленных модулей без зависимостей.

npm list- возвращает версии всех модулей и зависимостей.

И, наконец, получить версию узла: node -v


157



npm info YOUR_PACKAGE version

например

npm info grunt version
0.4.5

69



Я просто использовал npm list | grep <package name>и он отлично работал

При запуске Windows:

npm list | find <package name>

В PowerShell выполните:

npm list | sls <package name>


36



From the root of the package do:

node -p "require('./package.json').version"

EDIT: (so you need to cd into the module's home directory if you are not already there. If you have installed the module with npm install, then it will be under node_modules/<module_name>)

EDIT 2: updated as per answer from @jeff-dickey


26



You can use npm view [module] version, npm info [module] version, npm show [module] version or npm v [module] version to check the version on an installed npm module.

Let's suppose my grunt module version is the 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.5

13



You can also check the version by this command.

npm info <package name > version


13



If you agree to install jq, you can use the JSON output of npm list.

npm -j ls <package-name> | jq -r .version

or, if you want to be verbose

npm --json list <package-name> | jq --raw-output '.version'

For instance:

$ npm -j ls ghost | jq -r .version
0.4.2

Also, the JSON format is slightly different for global packages, so you'll need to change the query.

For instance:

$ npm -j -g ls | jq -r .dependencies.ghost.version
0.4.2

12



If you are brave enough (and have node installed), you can always do something like:

echo "console.log(require('./package.json').version);" | node

This will print the version of the current package. You can also modify it to go insane, like this:

echo "eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node

That will print the version of WHATEVER_PACKAGE_NAME package, that is seen by npm version.


12



Try with:

npm list --depth 1 --global packagename

7