Найдите версию установленного пакета 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

проверьте снимок экрана, на котором показано все о версии пакета, обновлении новой версии и неиспользуемой версии.

enter image description here

Это работает глобально тоже. попробуй. Надеюсь, это поможет кому-то.

Ответ 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  это простой способ извлечения версии пакета