Найдите версию установленного пакета npm
Как найти версию установленного пакета node.js/npm ?
Это выводит версию самой версии npm:
npm -v <package-name>
Это печатает загадочную ошибку:
npm version <package-name>
Это печатает версию пакета в реестре (то есть доступна последняя версия):
npm view <package-name> version
Как получить установленную версию?
Ответы
Ответ 1
npm list
для локальных пакетов или npm list -g
для глобально установленных пакетов.
Вы можете найти версию определенного пакета, передав его имя в качестве аргумента. Например, npm list grunt
приведет к:
[email protected] /path/to/project/folder
└── [email protected]
В качестве альтернативы, вы можете просто запустить npm list
, не передавая имя пакета в качестве аргумента, чтобы увидеть версии всех ваших пакетов:
├─┬ [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
└── [email protected]
Вы также можете добавить --depth = 0
в список установленных пакетов без их зависимостей.
Ответ 2
Еще один быстрый способ узнать, какие пакеты установлены локально и без их зависимостей:
npm list --depth=0
Что дает вам что-то вроде
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
Очевидно, то же самое можно сделать глобально с помощью npm list -g --depth=0
.
Этот метод более ясен, если вы установили множество пакетов.
Чтобы узнать, какие пакеты необходимо обновить, вы можете использовать npm outdated -g --depth=0
.
Ответ 3
npm view <package> version
- возвращает последнюю доступную версию пакета.
npm list --depth=0
- возвращает версии всех установленных модулей без зависимостей.
npm list
- возвращает версии всех модулей и зависимостей.
И наконец, чтобы получить версию node: node -v
Ответ 4
npm info YOUR_PACKAGE version
например.
npm info grunt version
0.4.5
Ответ 5
Я просто использовал
npm list | grep <package name>
и это работало отлично
По окнам беги:
npm list | find <package name>
В PowerShell запустите:
npm list | sls <package name>
Ответ 6
Из корня пакета выполните:
node -p "require('./package.json').version"
EDIT: (поэтому вам нужно cd
в домашний каталог модуля, если вы еще этого не сделали. Если вы установили модуль с npm install
, то он будет находиться под node_modules/<module_name>
)
EDIT 2: обновлено в соответствии с ответом @jeff-dickey
Ответ 7
Вы также можете проверить версию с помощью этой команды:
npm info <package name> version
Ответ 8
Для локальных пакетов
npm list --depth=0
Для глобальных пакетов
npm list -g --depth=0
Ответ 9
Сочетание некоторых из вышеперечисленных ответов и создание супер простого и супер быстрого поиска.
Выполнить из корня проекта. Нет необходимости cd
в любую папку, только одну строку:
node -p "require('SOMEPACKAGE/package.json').version"
Ответ 10
Если вы согласны установить jq, вы можете использовать вывод JSON npm list
.
npm -j ls <package-name> | jq -r .version
или, если вы хотите быть подробным
npm --json list <package-name> | jq --raw-output '.version'
Например:
$ npm -j ls ghost | jq -r .version
0.4.2
Кроме того, формат JSON немного отличается для глобальных пакетов, поэтому вам нужно будет изменить запрос.
Например:
$ npm -j -g ls | jq -r .dependencies.ghost.version
0.4.2
Ответ 11
Если вы достаточно храбры (и у вас установлен node
), вы всегда можете сделать что-то вроде:
echo "console.log(require('./package.json').version);" | node
Это будет печатать версию текущего пакета.
Вы также можете изменить его, чтобы сойти с ума, например:
echo "eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node
Это напечатает версию пакета WHATEVER_PACKAGE_NAME
, которая видна npm version
.
Ответ 12
Чтобы увидеть все установленные пакеты локально или глобально, используйте следующие команды:
-
npm list
для локальных пакетов или npm list -g
для общедоступных пакетов.
-
npm list --depth=0
-
npm list | sls <package name>
-
node -v
Ответ 13
Я построил инструмент, который делает именно это - qnm
qnm - простая утилита CLI для запроса каталога node_modules
.
Установите его, используя:
npm i --global qnm
и запустить:
qnm [module]
например:
> qnm lodash
lodash
├── 4.17.5
├─┬ cli-table2
│ └── 3.10.1
└─┬ karma
└── 3.10.1
Это означает, что мы установили lodash
в корень node_modules
и две другие копии в node_modules
cli-table2
и karma
.
Это очень быстро, и имеет некоторые приятные функции, такие как табуляция и поиск соответствия.
Ответ 14
Вы можете использовать версию npm view [module], версию npm info [module], npm показать версию [module] или версию npm v [module], чтобы проверить версию на установленном модуле npm.
Предположим, что моя версия модуля grunt - 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
Ответ 15
Попробуйте:
npm list --depth 1 --global packagename
Ответ 16
Здесь представлен переносимый Unix (с использованием grep
и sed
) однострочный, который возвращает строку версии глобально установленного пакета npm (удалите g
из -pg
вместо запроса локальных пакетов):
$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'
0.4.5
-
npm ll
выводит строку синтаксического анализа, отформатированную так: /usr/lib/node_modules/npm:[email protected]:
;
- команда
grep
извлекает значение между @
и :
, включительно;
- команда
sed
удаляет окружающие символы.
Ответ 17
Я добавил это в мой .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 npmv
Теперь все, что мне нужно сделать, это ввести:
- npmv для версии npm, например:
NPM version is: 4.2.0
- npmv < имя-пакета > для локальной версии, например:
0.8.08
- npmv < имя-пакета > g для глобальной версии, например:
0.8.09
- npmv < имя-пакета > l для последней версии, например:
0.8.10
Примечание. -d по команде команды cut ограничивает, а затем @, тогда f означает поле, второе означает второе поле, так как будет одна из сторон символа @.
Ответ 18
Вы можете попробовать следующее:
npm show {package} version
показывает последнюю версию пакета.
И если ваш пакет устарел, npm outdated
покажет его с информацией о версии.
Ответ 19
Это простой вопрос, и у него должен быть более простой ответ, чем тот, который я вижу выше.
Чтобы увидеть установленные пакеты npm с их версией, npm ls --depth=0
команду npm ls --depth=0
, которая по умолчанию отображает то, что установлено локально. Чтобы увидеть глобально установленные пакеты, добавьте аргумент -global
: npm ls --depth=0 -global
.
--depth=0
возвращает список установленных пакетов без их зависимостей, что вы и хотите делать большую часть времени.
ls
- это имя команды, а list
- псевдоним для ls
.
Ответ 20
npm list --depth 0
- это команда, которая показывает все библиотеки с версией, но вы можете использовать npm-check
npm-check - хорошая библиотека для управления всеми этими событиями, связанными с системным событием версии, в которой будут показаны версии библиотек, обновление новой версии, неиспользуемая версия и многое другое.
чтобы установить его просто запустите
npm install -g npm-check
и просто запустить
npm-check
проверьте снимок экрана, на котором показано все о версии пакета, обновлении новой версии и неиспользуемой версии.
Это работает глобально тоже. попробуй.
Надеюсь, это поможет кому-то.
Ответ 21
Для отображения локальных пакетов с номером версии используйте:
npm ls --depth = 0
Для просмотра глобальных пакетов с номером версии используйте:
npm ls -g --depth = 0
Ответ 22
Доступ к package.json
Вы можете получить доступ к package.json
или bower.json
пакета с помощью:
notepad ./node_modules/:packageName/package.json
Это откроет package.json
в notepad
, у которого version number
:packageName
вы включили в command
.
Например:
notepad ./node_modules/vue-template-compiler/package.json
Удачи.
Ответ 23
Мы можем использовать npm для просмотра любых обещаний (имя вашего модуля) -v
Ответ 24
NPM Check проделайте отличную работу с этим! + интерактивный REPL:)
https://www.npmjs.com/package/npm-check "Проверьте устаревшие, неправильные и неиспользуемые зависимости".
Ответ 25
Просто запустите следующую команду
npm list | grep <desired_package_name>
Он скажет вам, существует ли пакет или нет, и также возвращает версию
Ответ 26
Если вы используете webpack для компоновки вашего проекта, есть плагин с именем webpack-package-manager, который может автоматически отображать модули, используемые в проекте, последнюю версию и комбинировать package.json.
Ответ 27
В файле JSON есть версия всех установленных пакетов. Вы можете использовать * для получения последней версии.
Ответ 28
Использование этой команды в терминале для поиска версии Nodejs:
nodejs -v
Использование этой команды в терминале для поиска версии NPM:
npm -v
Ответ 29
использовать npm {{pkg name}} -v
это простой способ извлечения версии пакета