Zoek de versie van een geïnstalleerd npm-pakket

Hoe vind ik de versie van een geïnstalleerd node.js/npm pakket?

Hiermee wordt de versie van npm zelf afgedrukt:

npm -v <package-name>

Dit drukt een cryptische fout af:

npm version <package-name>

Dit drukt de pakketversie in het registeraf (d.w.z. de nieuwste beschikbare versie):

npm view <package-name> version

Hoe krijg ik de geïnstalleerde versie?


Antwoord 1, autoriteit 100%

npm listvoor lokale pakketten of npm list -gvoor wereldwijd geïnstalleerde pakketten.

Je kunt de versie van een specifiek pakket vinden door de naam als argument door te geven. Bijvoorbeeld, npm list gruntzal resulteren in:

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

U kunt ook gewoon npm listuitvoeren zonder een pakketnaam als argument door te geven om de versies van al uw pakketten te zien:

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

Je kunt ook het argument --depth=0toevoegen om geïnstalleerde pakketten weer te geven zonder hun afhankelijkheden.


Antwoord 2, autoriteit 32%

Een andere snelle manier om erachter te komen welke pakketten lokaalen zonder hun afhankelijkhedenzijn geïnstalleerd, is door:

npm list --depth=0

Wat je zoiets geeft als

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

Natuurlijk kan hetzelfde globaal worden gedaan met npm list -g --depth=0.

Deze methode is duidelijker als je veel pakketten hebt geïnstalleerd.

Om erachter te komen welke pakketten moeten worden bijgewerkt, kunt u npm outdated -g --depth=0gebruiken.


Antwoord 3, autoriteit 9%

npm view <package> version– retourneert de laatst beschikbare versie op het pakket.

npm list --depth=0– retourneert versies van alle geïnstalleerde modules zonder afhankelijkheden.

npm list– geeft versies van alle modules en afhankelijkheden terug.

En als laatste om de node-versie te krijgen: node -v


Antwoord 4, autoriteit 3%

npm info YOUR_PACKAGE version

bijv.

npm info grunt version
0.4.5

Antwoord 5, autoriteit 2%

Vanaf de hoofdmap van het pakket:

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

EDIT: (je moet dus cdin de homedirectory van de module plaatsen als je daar nog niet bent. Als je de module hebt geïnstalleerd met npm install, dan staat het onder node_modules/<module_name>)

EDIT 2: bijgewerkt volgens antwoord van @jeff-dickey


Antwoord 6, autoriteit 2%

Ik heb net

. gebruikt

npm list | grep <package name>

en het werkte prima

Op Windows draaien:

npm list | find <package name>

In PowerShell uitvoeren:

npm list | sls <package name>

Antwoord 7

Voor lokale pakketten

npm list --depth=0

Voor wereldwijde pakketten

npm list  -g --depth=0

Antwoord 8

Door een aantal van de bovenstaande antwoorden te combineren, krijg je een supereenvoudige en supersnelle zoekopdracht.
Uitvoeren vanaf projectroot. Het is niet nodig om cdin een map te plaatsen, slechts 1 regel:

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


Antwoord 9

Je kunt de versie ook controleren met dit commando:

npm info <package name> version


Antwoord 10

Als u akkoord gaat met de installatie van jq, kunt u de JSON-uitvoer van npm listgebruiken.

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

of, als je uitgebreid wilt zijn

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

Bijvoorbeeld:

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

Bovendien is de JSON-indeling iets anders voor globale pakketten, dus u moet de query wijzigen.

Bijvoorbeeld:

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

Antwoord 11

Het is heel eenvoudig.. Typ gewoon onder de regel

npm view <package-name> version

** Voorbeeld **

npm view redux version

Ik heb versie 7.2.0 van redux


Antwoord 12

Als je dapper genoeg bent (en nodehebt geïnstalleerd), kun je altijd iets doen als:

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

Hiermee wordt de versie van het huidige pakket afgedrukt.
Je kunt het ook aanpassen om gek te worden, zoals dit:

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

Dat zal de versie van het WHATEVER_PACKAGE_NAME-pakket afdrukken, dat wordt gezien door npm version.


Antwoord 13

Gebruik deze commando’s om alle geïnstalleerde pakketten lokaal of globaal te zien:

  1. npm listvoor lokale pakketten of npm list -gvoor wereldwijd geïnstalleerde pakketten.
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v

Antwoord 14

Probeer met:

npm list --depth 1 --global packagename

Antwoord 15

Ik heb een tool gebouwd die precies dat doet – qnm

qnm – Een eenvoudig CLI-hulpprogramma voor het opvragen van de node_modules-directory.

Installeer het met:

npm i --global qnm

en uitvoeren:

qnm [module]

bijvoorbeeld:

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

Wat betekent dat we lodashhebben geïnstalleerd in de hoofdmap van de node_modulesen twee andere exemplaren in de node_modulesvan cli-table2en karma.

Het is erg snel en heeft een aantal leuke functies, zoals het invullen van tabbladen en zoeken naar overeenkomsten.


Antwoord 16

npm list --depth 0is het commando dat alle bibliotheken met versie laat zien, maar je kunt npm-check

gebruiken

npm-check is een goede bibliotheek om al die dingen met betrekking tot de versiesysteemgebeurtenis te beheren, het zal bibliothekenversies, nieuwe versie-updates en ongebruikte versie en nog veel meer tonen.

om het te installeren, voer het gewoon uit

npm install -g npm-check

en gewoon uitvoeren

npm-check

controleer de schermafbeelding die alles toont over de pakketversie, de nieuwe versie-update en de ongebruikte versie.

voer hier de afbeeldingsbeschrijving in

Het werkt ook wereldwijd. probeer het eens.
Ik hoop dat dit iemand helpt.


Antwoord 17

Om lokale pakketten met het versienummer weer te geven, gebruik:

npm ls --depth=0

Als u globale pakketten met het versienummer wilt weergeven, gebruikt u:

npm ls -g --depth=0


Antwoord 18

Hier is een draagbare Unix (met behulp van grepen sed) one-liner die de versietekenreeks van een globaal geïnstalleerd npm-pakket retourneert (verwijder de gvan -pgom in plaats daarvan lokale pakketten op te vragen):

$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'
0.4.5
  • de npm llvoert een parseerbare tekenreeks uit met de indeling: /usr/lib/node_modules/npm:[email protected]:;
  • de opdracht grepextraheert de waarde tussen @en :, inclusief;
  • de opdracht sedverwijdert de omringende tekens.

Antwoord 19

U kunt npm view [module] version, npm info [module] version, npm show [module] versionof npm v [module]-versieom de versie op een geïnstalleerde npm-module te controleren.

Laten we aannemen dat mijn versie van de gruntmodule de 0.4.5 is:

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

Antwoord 20

Ik heb dit toegevoegd aan mijn .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

Nu hoef ik alleen nog maar te typen:

  • npmvvoor de versie van npm, bijvoorbeeld: NPM version is: 4.2.0
  • npmv <pakketnaam>voor de lokale versie, bijvoorbeeld: 0.8.08
  • npmv <pakketnaam> gvoor algemene versie, bijvoorbeeld: 0.8.09
  • npmv <pakketnaam> lvoor de nieuwste versie, bijvoorbeeld: 0.8.10

Opmerking -d op het knipcommando betekent begrenzen door, gevolgd door @, dan betekent f veld, de 2 betekent tweede veld, aangezien er één aan weerszijden van het @-symbool zal zijn.


Antwoord 21

Dit is een eenvoudige vraag en zou een eenvoudiger antwoord moeten hebben dan wat ik hierboven zie.

Om de geïnstalleerde npm-pakketten met hun versie te zien, is het commando npm ls --depth=0, dat standaard laat zien wat er lokaal is geïnstalleerd. Om de globaal geïnstalleerde pakketten te zien, voegt u het argument -globaltoe: npm ls --depth=0 -global.

--depth=0retourneert een lijst met geïnstalleerde pakketten zonder hun afhankelijkheden, wat u meestal wilt doen.

lsis de naam van de opdracht, en listis een aliasvoor ls.


Antwoord 22

npm list pakketnaamgeeft de momenteel geïnstalleerde versie


Antwoord 23

Ik heb een aantal zeer creatieve antwoorden gezien, maar je kunt dit gewoon doen (voor globale pakketten voeg je de –global switch toe):

npm ls package

Voorbeeld:

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

De npm-documentatie zegt dat npm -ls

Dit commando zal alle versies van pakketten die
zijn geïnstalleerd, evenals hun afhankelijkheden, in een boomstructuur.

NPM-documentatie


Antwoord 24

Je kunt dit proberen:
npm show {package} versiontoont de laatste pakketversie.
En als uw pakket verouderd is, toont npm outdatedhet met versie-informatie.


Antwoord 25

Toegang tot package.json

Je hebt toegang tot package.jsonof bower.jsonvan het pakket met:

notepad ./node_modules/:packageName/package.json

Hiermee wordt het package.jsongeopend in notepadmet het version numbervan de :packageNamedie u opgenomen in het command.

Bijvoorbeeld:

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

Veel succes.


Antwoord 26

Als je wilt controleren of een bepaalde module wereldwijd is geïnstalleerd, gebruik dan op *nix-systemen:

npm list -g --depth=0 | grep <module_name>

Antwoord 27

We kunnen npm view any-promise(uw modulenaam) -v

gebruiken


Antwoord 28

Er is een eenvoudige manier om dit te doen.
ga eerst naar de gewenste locatie (waar het pakket.json zich bevindt).
en eenvoudig open package.json-bestand als teksteditor.

op deze manier kunt u alle moduleversies op één plek vinden.

package.json ziet er zo uit

pakket.json

{
“name”: “raj”,
“versie”: “1.0.0”,
“description”: “”,
“main”: “index.js”,
“scripts”: {
“test”: “echo “Fout: geen test opgegeven” && exit 1″
},
“auteur”: “”,
“licentie”: “ISC”,
“afhankelijkheden”: {
“bcrypt”: “^5.0.1”,
“connect-flash”: “^0.1.1”,
“dotenv”: “^10.0.0”,
“ejs”: “^3.1.6”,
“express”: “^4.17.1”,
“express-session”: “^1.17.2”,
“mysql2”: “^2.2.5”,
“paspoort”: “^0.4.1”,
“passport-local”: “^1.0.0”,
“sequelize”: “^6.6.2”,
“socket.io”: “^4.1.2”
}
}

zodat u elke geïnstalleerde afhankelijkheid (modules) op uw pc kunt lezen
bijv. “socket.io”: “^4.1.2” dus “socket.io” met versie “4.1.2”


Antwoord 29

U kunt package.json zien om de versie van geïnstalleerde pakketten te zien

Om de lijst op de opdrachtregel te krijgen

npm ls

Het geeft je alle geïnstalleerde pakketten in een project met hun respectievelijke versies.

Voor een bepaalde pakketversie

npm ls <package-name>

voor bijv.

npm ls next

Het geeft de versie terug

-- [email protected]

Antwoord 30

Je kunt package.jsonook bekijken om handmatig in een teksteditor te zien welke pakketten afhankelijkheden zijn. Gebruik dit als npm listniet werkt als handmatig alternatief.

Other episodes