it-swarm.com.de

Wie aktualisiere ich npm auf die neueste Version?

Ich habe Probleme mit npm in einer von mir eingerichteten Vagrant-Box. Mir ist aufgefallen, dass die npm -Version etwas alt ist, deshalb wollte ich das Problem mit der neuesten Version überprüfen.

Nach meinem Verständnis sollten Sie in der Lage sein, npm mit npm install -g npm zu aktualisieren, aber der Befehl hat keine Auswirkung auf die npm, die verwendet wird:

[email protected]:~$ npm -v
1.3.10
[email protected]:~$ Sudo npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm
[email protected]:~$ npm -v
1.3.10

Ich habe auch versucht, n zu verwenden (wie in Wie kann ich meinen nodeJS auf die neueste Version aktualisieren? ), aber es betrifft weder npm noch node :

[email protected]:~$ node -v
v0.10.25
[email protected]:~$
[email protected]:~$ Sudo npm install -g n
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
[email protected] /usr/lib/node_modules/n
[email protected]:~$ Sudo n stable

     install : v0.10.33
       mkdir : /usr/local/n/versions/0.10.33
       fetch : http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz
   installed : v0.10.33

[email protected]:~$ node -v
v0.10.25
[email protected]:~$ npm -v
1.3.10

Was muss ich tun, um npm auf die neueste Version zu aktualisieren?

124
Der Hochstapler

Ich verstehe immer noch nicht , warum , aber ich muss npm install -g npmzweimal ausführen, um das gewünschte Ergebnis zu erzielen bewirken:

[email protected]:~$ npm -v
1.3.10
[email protected]:~$ Sudo npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm
[email protected]:~$ npm -v
1.3.10
[email protected]:~$ Sudo npm install -g npm
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/lib/node_modules/npm
[email protected]:~$ npm -v
2.1.12
139
Der Hochstapler

Wenn Sie npm install -g npm zum ersten Mal ausführen, sucht die Shell (Bash) in Ihrem Pfad nach npm, findet /usr/bin/npm, das vom Systempaket installiert wurde, und installiert dann die neue Version von npm. Die neue Version wird in /usr/local/bin/npm installiert.

Nun sollte Ihr Pfad /usr/local/bin/ BEVOR /usr/bin/ haben, also würden Sie denken, dass er jetzt die aktualisierte Version in /usr/local/bin/ aufnimmt, richtig? Falsch.

Bash durchsucht ausführbare Pfade nach der ersten Suche nach ihnen mit CACHE. Wenn Sie also beim zweiten Mal npm sagen, wird immer noch die zwischengespeicherte Version verwendet, die es zuerst als /usr/bin/npm gefunden hat.

Um Bash anzuweisen, diesen Cache zu leeren und den Pfad erneut zu durchsuchen, müssen Sie einen hash -r ausführen.

Nach der Installation von npm und dem Ausführen dieses Vorgangs hat meine Shell die neue Version von npm aufgenommen.

Vielen Dank

45
Asfand Qazi

Sie können nodejs mit npm selbst, einem PPA oder manuell aktualisieren.

npm :

Überprüfen Sie die aktuelle Version, die Sie haben:

node -v

Folgendes leert Ihren Cache.

Sudo npm cache clean -f

n installieren

Sudo npm install -g n

Sie können es so anweisen, eine bestimmte Version zu installieren:

Sudo n 0.8.11

Oder sagen Sie ihm einfach, dass er die neueste stabile Version installieren soll. Beides kann eine Weile dauern.

Sudo n stable

Führen Sie Folgendes aus, um zu überprüfen, ob tatsächlich ein Upgrade durchgeführt wurde:

node -v

PPA:

Eine andere Möglichkeit ist die Installation über PPA von chris-lea ;

Sudo add-apt-repository ppa:chris-lea/node.js  
Sudo apt-get update  
Sudo apt-get install nodejs

Dieser PPA unterstützt die folgenden Distributionen: Utopic (14.10), Trusty (14.04), Saucy (13.10), Raring (13.04), Quantal (12.10), Precise (12.04), Oneiric (11.10), Natty (11.04), Lucid (10.04 ).

manuell :

Sie können es jederzeit manuell aktualisieren Download die neueste Version und installieren Sie es selbst!


Referenz :

38
blade19899

Aktualisieren Sie NPM mit einem Befehl auf die neueste Version

Geben Sie einfach Folgendes ein, um die Version Ihres npm zu aktualisieren oder zu aktualisieren:

Sudo npm install [email protected] -g

Wie in der Fußzeile der NPM-Dokumentation

Meistens kann ich es nicht mit dem globalen Befehl aktualisieren. Was für mich jedoch funktioniert hat, ist das Upgrade des Pakets von der Quelle aller Systemknoten-Module:

Finde heraus, wo npm installiert ist und gehe in diesen Ordner

# Below command shows the destination (remove sed pipe to see the full path of npm-cli)
whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{19\}$//'

# Go in there and install it manually. In my case it was the folder below... 
# NOTE: on mac its in /usr/local/lib
cd /usr/lib
Sudo npm install [email protected]

Siehe, der mächtige Einzeiler für alle (besonders für faule Leute)

cd `whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//'`; cd ..; Sudo npm install [email protected]
12
Tom Siwik

Um npm zu aktualisieren, müssen Sie nodejs auf die neueste Version aktualisieren, die npm enthält.

Verwenden Sie in debian stretch und jessie dieses Skript:

#install prerequisites
apt-get install apt-transport-https curl git lsb-release -y

#Install NodeJS from external repositories
DISTRO=$(lsb_release -c -s)
if [ "$DISTRO" == "stretch" ]
then
  DISTRO="jessie"
fi

if curl -f "https://deb.nodesource.com/node_7.x/dists/$DISTRO/Release" >/dev/null
then
  curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
  echo "deb https://deb.nodesource.com/node_7.x $DISTRO main" > /etc/apt/sources.list.d/nodesource.list
  echo "deb-src https://deb.nodesource.com/node_7.x $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list
  apt-get update
  # comment out the following line, if you installed nodejs 7 already (check with `apt-cache policy nodejs`)
  apt-get remove nodejs nodejs-legacy npm
  apt-get install nodejs -y
else
  echo -e "Your distribution is not supported by NodeJS. \nYou have to install a recent NodeJS version (>=4) manually. "
fi

In Ubuntu können Sie dieses Skript von https://deb.nodesource.com verwenden:

curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs

die Quelle finden Sie zuerst unter https://github.com/nodesource/distributions/blob/master/deb/setup_7.x

1
rubo77

Bei jedem Trick, den Sie tun, sollten Sie Git nicht verwenden. Ich empfehle, sie in Composer terminal auszuführen. Es wird sicher funktionieren. Es hat für mich von npm install npm -g.

1
Gildas Niyigena

Ich war mit dem Problem konfrontiert. Meine aktuelle Npm-Version war 3.3.12, aber ich habe versucht Sudo npm install npm -g, Sudo npm update npm -g .. nichts hat funktioniert .. während ich npm --version immer 3.3.12 bekomme. Ich habe in meinem Ubuntu 15.04 nach Verzeichnissen gesucht und zwei Versionen von npm in unterschiedlichen Verzeichnissen gefunden.

  • v3.3.12 in /usr/local/lib/node_modules/npm
  • v3.6 in /usr/lib/node_modules/npm

Also habe ich eine Kopie von 3.3.12 mit mv npm npm_3312 erstellt, während ich mich in einem älteren npm-Verzeichnis befand. Dann habe ich Sudo cp -r npm /usr/local/lib/node_modules/ gemacht, während ich mich im Verzeichnis '/ usr/lib/node_modules' befand. Ich habe meinen npm --version gemacht und habe 3.6.0

: D

0
Ariful Haque

Ich sehe keinen Grund, etwas neu zu installieren, das dort bereit ist. Verwenden Sie einfach pdate -g, das in den Paket-Manager integriert ist, um sich selbst zu aktualisieren:

$ npm -v
2.15.1
$ Sudo npm update -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm
$ npm -v
3.10.9

Stellen Sie sicher, dass das globale Flag - g vor den Paketen steht. Ich hatte in der Vergangenheit Probleme damit, dass npm das Flag nach der Paketliste nicht registriert.

0
SmujMaiku

upgrade auf nodejs v0.12.7

 # Note the new setup script name for Node.js v0.12
 curl -sL https://deb.nodesource.com/setup_0.12 | Sudo bash -

 # Then install with:
 Sudo apt-get install -y nodejs

Quelle von nodesource.com

0
Rémi B.