web-dev-qa-db-de.com

Suchen Sie die Version eines installierten npm-Pakets

Wie finde ich die Version einer installierten node.js/npm package?

Dies gibt die Version von npm selbst aus:

npm -v <package-name>

Dies gibt einen kryptischen Fehler aus:

npm version <package-name>

Dies gibt die Paketversion in der Registrierung aus (d. H. Die neueste verfügbare Version):

npm view <package-name> version

Wie bekomme ich die installierte Version?

1957

npm list für lokale Pakete oder npm list -g für global installierte Pakete.

Sie können die Version eines bestimmten Pakets ermitteln, indem Sie den Namen als Argument übergeben. Zum Beispiel führt npm list grunt zu:

[email protected] /path/to/project/folder
└── [email protected]

Alternativ können Sie einfach npm list ausführen, ohne einen Paketnamen als Argument zu übergeben, um die Versionen aller Ihrer Pakete anzuzeigen:

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

Eine andere Möglichkeit, schnell herauszufinden, welche Pakete installiert sind lokal und ohne ihre Abhängigkeiten, besteht darin, Folgendes zu verwenden:

npm list --depth=0

Welches gibt Ihnen so etwas

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

Dasselbe kann natürlich global mit npm list -g --depth=0 gemacht werden.

Diese Methode ist klarer, wenn Sie viele Pakete installiert haben.

Um herauszufinden, welche Pakete aktualisiert werden müssen, können Sie npm outdated -g --depth=0 verwenden.

804

npm view <package> version - Gibt die neueste verfügbare Version des Pakets zurück.

npm list --depth=0 - gibt Versionen aller installierten Module ohne Abhängigkeiten zurück.

npm list - gibt Versionen aller Module und Abhängigkeiten zurück.

Und zum Schluss noch die Node-Version: node -v

197
Salvador Dali
npm info YOUR_PACKAGE version

z.B.

npm info grunt version
0.4.5
75
David Beckwith

Ich habe gerade benutzt

npm list | grep <package name>

und es hat super funktioniert

Auf Windows laufen:

npm list | find <package name>

Führen Sie in PowerShell Folgendes aus:

npm list | sls <package name>
53
chrissavage

Führen Sie im Stammverzeichnis des Pakets Folgendes aus:

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

EDIT: (Sie müssen also cd in das Ausgangsverzeichnis des Moduls kopieren, wenn Sie noch nicht dort sind. Wenn Sie das Modul mit npm install installiert haben, wird dies der Fall sein unter node_modules/<module_name>)

EDIT 2: aktualisiert gemäß der Antwort von @ jeff-dickey

41
Fergie

Sie können die Version auch mit diesem Befehl überprüfen:

npm info <package name> version

21
Sobin Sunny

Für lokale Pakete

npm list --depth=0

Für globale Pakete

npm list  -g --depth=0
19
Farhan Yaseen

Wenn Sie einige der oben genannten Antworten kombinieren, erhalten Sie eine supereinfache und superschnelle Suche.
Vom Projektstamm aus ausführen. Es ist nicht erforderlich, cd in einen Ordner zu kopieren, nur 1 Zeile:

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

14
JoshuaDavid

Wenn Sie mutig genug sind (und node installiert haben), können Sie immer Folgendes tun:

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

Dadurch wird die Version des aktuellen Pakets gedruckt. Sie können es auch so ändern, dass es verrückt wird:

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

Dadurch wird die Version des Pakets WHATEVER_PACKAGE_NAME gedruckt, die von npm version angezeigt wird.

13
KundraLaci

Wenn Sie der Installation von jq zustimmen, können Sie die JSON-Ausgabe von npm list verwenden.

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

oder, wenn Sie ausführlich sein möchten

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

Zum Beispiel:

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

Außerdem unterscheidet sich das JSON-Format für globale Pakete geringfügig, sodass Sie die Abfrage ändern müssen.

Zum Beispiel:

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

Verwenden Sie diese Befehle, um alle installierten Pakete lokal oder global anzuzeigen:

  1. npm list für lokale Pakete oder npm list -g für global installierte Pakete.
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v
11
Shekhar Tyagi

Sie können npm view [module] version, npm info [module] version, npm show [module] version oder npm v [module] version um die Version eines installierten npm-Moduls zu überprüfen.

Nehmen wir an, meine Grunzmodul-Version ist 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
9
Sérgio

Ich habe ein Tool gebaut, das genau das macht - qnm

qnm - Ein einfaches CLI-Dienstprogramm zum Abfragen des Verzeichnisses node_modules.

Installieren Sie es mit:

npm i --global qnm

und Renn:

qnm [module]

zum Beispiel:

> qnm lodash

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

Das heißt, wir haben lodash im Stammverzeichnis des node_modules und zwei weitere Kopien im node_modules von cli-table2 und karma installiert.

Es ist sehr schnell und hat einige nette Funktionen wie das Vervollständigen von Registerkarten und die Suche nach Übereinstimmungen.

8
Ran Yitzhaki

Versuche es mit:

npm list --depth 1 --global packagename
8
Eduardo Cuomo

Hier ist ein portabler Unix-Einzeiler (mit grep und sed), der die Versionszeichenfolge eines global installierten npm-Pakets zurückgibt (entfernen Sie g aus -pg, um local abzufragen Pakete stattdessen):

$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'
0.4.5
  • der npm ll gibt eine syntaktisch analysierbare Zeichenfolge aus, die wie folgt formatiert ist: /usr/lib/node_modules/npm:[email protected]:;
  • der Befehl grep extrahiert den Wert zwischen @ und : einschließlich.
  • der Befehl sed entfernt die umgebenden Zeichen.
6
wjordan

Ich habe dies zu meinem .bashrc hinzugefügt

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

Jetzt muss ich nur noch Folgendes eingeben:

  • npmv für die Version von npm zB: NPM version is: 4.2.0
  • npmv <Paketname> für die lokale Version zB: 0.8.08
  • npmv <Paketname> g für globale Version, zB: 0.8.09
  • npmv <Paketname> l für die neueste Version, zB: 0.8.10

Hinweis -d bei Befehl zum Ausschneiden bedeutet Begrenzung durch, gefolgt von @, dann bedeutet f Feld, 2 bedeutet zweites Feld, da sich auf beiden Seiten des Symbols @ eine befindet.

5
JGFMK

Sie können dies versuchen: npm show {package} version zeigt die neueste Paketversion. Und wenn Ihr Paket veraltet ist, zeigt npm outdated es mit Versionsinformationen an.

5
Aliaksei

Dies ist eine einfache Frage und sollte eine einfachere Antwort haben als das, was ich oben sehe.

Um die installierten npm-Pakete mit ihrer Version anzuzeigen, lautet der Befehl npm ls --depth=0 und zeigt standardmäßig an, was lokal installiert ist. Fügen Sie das Argument -global hinzu, um die global installierten Pakete anzuzeigen: npm ls --depth=0 -global.

--depth=0 gibt eine Liste der installierten Pakete ohne deren Abhängigkeiten zurück, was Sie die meiste Zeit tun möchten.

ls ist der Name des Befehls und listist ein Alias für ls.

4
zumafra

npm list --depth 0 ist der Befehl, der alle Bibliotheken mit der Version anzeigt, aber Sie können npm-check verwenden.

npm-check ist eine gute Bibliothek zum Verwalten all dieser Dinge in Bezug auf das Versionssystemereignis, bei dem Bibliotheksversionen, neue Versionsaktualisierungen, nicht verwendete Versionen und vieles mehr angezeigt werden.

zum Installieren einfach ausführen

npm install -g npm-check

und einfach laufen

npm-check

überprüfen Sie den Screenshot, auf dem alles über die Paketversion, das Update der neuen Version und die nicht verwendete Version zu sehen ist.

enter image description here

Es funktioniert auch global. Versuche es. Hoffe das hilft jemandem.

3
Mahendra Pratap

Um lokale Pakete mit der Versionsnummer aufzulisten, verwenden Sie:

npm ls --depth = 0

Um globale Pakete mit der Versionsnummer aufzulisten, verwenden Sie:

npm ls -g --depth = 0

3
kavigun

Zugriff auf den package.json

Sie können auf den package.json oder bower.json des Pakets zugreifen mit:

notepad ./node_modules/:packageName/package.json

Dies öffnet den package.json in notepad, der den version number des :packageName enthält, den Sie in command aufgenommen haben.

Beispielsweise :

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

Viel Glück.

2
Akash

Wir können npm view any-promise (Ihren Modulnamen) -v verwenden

2
Nitin Tyagi