Znajdź wersję zainstalowanego pakietu npm

Jak znaleźć wersję zainstalowanego węzła.pakiet js/npm ?

Wyświetla wersję npm:

npm -v <package-name>

To wypisuje tajemniczy błąd:

npm version <package-name>

Wyświetla wersję pakietu w rejestrze (tzn. najnowszą dostępną wersję):

npm view <package-name> version

Jak uzyskać zainstalowaną wersję ?

Author: Laurent Couvidou, 2012-06-10

28 answers

npm list dla pakietów lokalnych lub npm list -g dla pakietów zainstalowanych globalnie.

Możesz znaleźć wersję konkretnego pakietu, podając jego nazwę jako argument. Na przykład, npm list grunt spowoduje:

projectName@projectVersion /path/to/project/folder
└── [email protected]

Alternatywnie, możesz po prostu uruchomić npm list bez podawania nazwy pakietu jako argumentu, aby zobaczyć wersje wszystkich pakietów:

├─┬ [email protected] 
│ └── [email protected] 
├── [email protected] 
├── [email protected] 
├─┬ [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
└── [email protected] 

Możesz również dodać argument --depth=0 do listy zainstalowanych pakietów bez ich zależności.

 2805
Author: TheHippo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-10 21:11:28

Innym szybkim sposobem sprawdzenia, jakie pakiety są zainstalowane lokalnie i bez ich zależności jest użycie:

npm list --depth=0

Co daje coś w rodzaju

├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Oczywiście, to samo można zrobić globalnie z npm list -g --depth=0.

Ta metoda jest bardziej przejrzysta w przypadku zainstalowania wielu pakietów.

Aby dowiedzieć się, które pakiety wymagają aktualizacji, możesz użyć npm outdated -g --depth=0.

 913
Author: Patrik Affentranger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-25 06:43:25

npm view <package> version - zwraca najnowszą dostępną wersję pakietu.

npm list --depth=0 - zwraca wersje wszystkich zainstalowanych modułów bez zależności.

npm list - zwraca wersje wszystkich modułów i zależności.

I wreszcie, aby uzyskać wersję węzła: node -v

 240
Author: Salvador Dali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-21 12:28:05
npm info YOUR_PACKAGE version

Np.

npm info grunt version
0.4.5
 93
Author: David Beckwith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-24 03:21:41

Właśnie użyłem

npm list | grep <package name>

And it worked great

W systemie Windows uruchom:

npm list | find <package name>

W PowerShell run:

npm list | sls <package name>
 67
Author: chrissavage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-03 17:30:22

From the root of the package do:

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

EDIT: (więc musisz cd do katalogu domowego modułu, jeśli jeszcze tam nie jesteś. Jeśli zainstalowałeś moduł z npm install, to będzie on pod node_modules/<module_name>)

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

 65
Author: Fergie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-06 14:25:42

Dla pakietów lokalnych

npm list --depth=0

Dla pakietów globalnych

npm list  -g --depth=0
 27
Author: Farhan Yaseen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-09 12:26:08

Połączenie niektórych z powyższych odpowiedzi i daje super proste i super szybkie wyszukiwanie.
Uruchom z katalogu głównego projektu. Nie trzeba cd do dowolnego folderu, wystarczy 1 linijka:

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

 24
Author: JoshuaDavid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-25 07:14:06

Możesz również sprawdzić wersję za pomocą tego polecenia:

npm info <package name> version

 21
Author: Sobin Sunny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-06 08:41:16

Jeśli zgadzasz się zainstalować jq , możesz użyć wyjścia JSON z npm list.

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

Lub, jeśli chcesz być gadatliwy

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

Na przykład:

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

Format JSON jest nieco inny dla pakietów globalnych, więc musisz zmienić zapytanie.

Na przykład:

$ npm -j -g ls | jq -r .dependencies.ghost.version
0.4.2
 17
Author: Benoit Blanchon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-14 11:54:11

Jeśli jesteś wystarczająco odważny (i masz zainstalowane node), zawsze możesz zrobić coś takiego:

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

Spowoduje wydrukowanie wersji bieżącego pakietu. Możesz również zmodyfikować go, aby oszalał, jak to:

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

, który wydrukuje wersję WHATEVER_PACKAGE_NAME pakietu, którą widzi npm version.

 15
Author: KundraLaci,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-05 14:41:02

To bardzo proste..Po prostu wpisz poniżej linię

npm view < package-name > version

** przykład * *

npm view redux version

Mam wersję 7.2.0 redux

 14
Author: Daksh Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-14 11:29:22

Aby zobaczyć wszystkie zainstalowane pakiety lokalnie lub globalnie, użyj następujących poleceń:

  1. npm list dla pakietów lokalnych lub npm list -g dla pakietów zainstalowanych globalnie.
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v
 13
Author: Shekhar Tyagi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-25 02:36:22

Spróbuj z:

npm list --depth 1 --global packagename
 11
Author: Eduardo Cuomo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-13 13:16:19

Zbudowałem narzędzie, które robi dokładnie to- qnm

Qnm-proste narzędzie CLI do odpytywania katalogu node_modules.

Zainstaluj go używając:

npm i --global qnm

I uruchomić:

qnm [module]

Na przykład:

> qnm lodash

lodash
├── 4.17.5
├─┬ cli-table2
│ └── 3.10.1
└─┬ karma
  └── 3.10.1

Co oznacza, że mamy lodash zainstalowane w katalogu głównym node_modules i dwie inne kopie w node_modules z cli-table2 i karma.

Jest naprawdę szybki i ma kilka fajnych funkcji, takich jak uzupełnianie kart i wyszukiwanie dopasowań.

 11
Author: Ran Yitzhaki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-10 17:42:10

Aby wyświetlić listę lokalnych pakietów z numerem wersji użyj:

npm ls --depth=0

Aby wyświetlić listę pakietów globalnych o numerze wersji użyj:

npm ls -g --depth=0

 11
Author: kavigun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-19 13:33:50

npm list --depth 0 jest poleceniem, które pokazuje wszystkie biblioteki z wersją, ale można użyć npm-check

Npm-check jest dobrą biblioteką do zarządzania wszystkimi tymi rzeczami dotyczącymi zdarzenia systemowego wersja wyświetli wersje bibliotek, nową aktualizację wersji i nieużywaną wersję i wiele innych.

Aby go zainstalować po prostu uruchom

npm install -g npm-check

I po prostu uruchom

npm-check

Sprawdź zrzut ekranu, który pokazuje wszystko o wersji pakietu, nowej aktualizacji wersji i nieużywanej wersja.

Tutaj wpisz opis obrazka

Działa również globalnie. spróbuj. Mam nadzieję, że to komuś pomoże.
 10
Author: Mahendra Pratap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-31 09:54:27

Oto przenośny Unix (używając grep i sed) jednowierszowy, który zwraca ciąg wersji globalnie zainstalowanego pakietu npm (usuń g z -pg, Aby odpytywać lokalne Pakiety):

$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'
0.4.5
  • npm ll wypisuje parsowalny łańcuch sformatowany jak: /usr/lib/node_modules/npm:[email protected]:;
  • polecenie grep wydobywa wartość pomiędzy @ i :, włącznie;
  • polecenie sed usuwa otaczające znaki.
 7
Author: wjordan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-29 23:11:11

Możesz użyć wersji npm view [module] , npm info [moduł] wersja, npm show [module] version lub npm V [module] version aby sprawdzić wersję zainstalowanego modułu npm.

Załóżmy, że moja wersja modułu grunt to 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
 7
Author: psergiocf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-12 15:53:03

Dodałem to do mojego .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

Teraz wystarczy wpisać:

  • npmv dla wersji npm np: NPM version is: 4.2.0
  • npmv dla wersji lokalnej np: 0.8.08
  • npmv g dla wersji globalnej np: 0.8.09
  • npmv l dla najnowszej wersji np: 0.8.10

Uwaga-D przy Komendzie cut oznacza rozdzielenie przez, po którym następuje@, a następnie f oznacza pole 2 oznacza drugie pole, ponieważ będzie po jednej stronie symbolu@.

 6
Author: JGFMK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-09 11:50:29

Npm list Nazwa pakietu podaje aktualnie zainstalowaną wersję

 6
Author: Nandhiny Durai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-04 19:10:57

Widziałem kilka bardzo kreatywnych odpowiedzi, ale możesz to zrobić (dla pakietów globalnych dodaj --global switch):

npm ls package

Przykład:

npm ls babel-cli
`-- [email protected]

Dokumentacja npm mówi, że npm-ls

To polecenie wyświetli na stdout wszystkie wersje pakietów, które są instalowane, jak również ich zależności, w strukturze drzewa.

Dokumentacja NPM

 6
Author: Charles Owen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-19 23:46:06

Możesz spróbować tego: npm show {package} version pokazuje najnowszą wersję pakietu. Jeśli Twój Pakiet jest nieaktualny, npm outdated wyświetli go wraz z informacją o wersji.

 5
Author: Aliaksei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-04 12:41:51

Jest to proste pytanie i powinno mieć prostszą odpowiedź niż to, co widzę powyżej.

Aby zobaczyć zainstalowane pakiety npm wraz z ich wersją, poleceniem jest npm ls --depth=0, które domyślnie wyświetla to, co jest zainstalowane lokalnie. Aby zobaczyć pakiety zainstalowane globalnie, dodaj argument -global: npm ls --depth=0 -global.

--depth=0 zwraca listę zainstalowanych pakietów bez ich zależności, co jest tym, co chcesz robić przez większość czasu.

ls jest nazwą polecenia, oraz list jest aliasem dla ls.

 5
Author: zumafra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-23 20:47:41

Access the package.json

Możesz uzyskać dostęp do package.json lub bower.json pakietu za pomocą:

notepad ./node_modules/:packageName/package.json

Otworzy package.json w notepad, który ma version number z :packageName, które zawarłeś w command.

Na przykład:

notepad ./node_modules/vue-template-compiler/package.json

Powodzenia.
 4
Author: Aakash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-17 11:23:43

Możemy użyć npm view any-promise (Twoja nazwa modułu) - v

 3
Author: Nitin .,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-28 12:14:48

Jeśli chcesz sprawdzić, czy dany moduł jest zainstalowany globalnie, na systemach *nix użyj:

npm list -g --depth=0 | grep <module_name>
 1
Author: Aymen Jarouih,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-11 20:11:02

Możesz także wyświetlić package.json, aby ręcznie w edytorze tekstu sprawdzić, jakie pakiety są zależnościami. Użyj tego, jeśli npm list nie działa jako ręczna alternatywa.

 0
Author: SuperHarmony910,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-04 10:42:48