Hogyan frissítheted az npm-t a legújabb verzióra? [másolat]

111

A (z)npm nevű problémát a Vagrant mezőben állítom fel. Észrevettem, hogy anpm verzió kissé öreg, ezért a legújabb kiadással szeretném ellenőrizni a problémát.

Megértettem, hogy anpm -otnpm install -g npm paranccsal frissítheted, de a parancsnak nincs hatása anpm -ra:

vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ 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
npm@2.1.12 /usr/local/lib/node_modules/npm
vagrant@box:~$ npm -v
1.3.10

An -ot ( Hogyan frissíthetem a nodeJS-t a legfrissebb verzióhoz? ), de nem érinti sem anpm, sem anode:

vagrant@box:~$ node -v
v0.10.25
vagrant@box:~$
vagrant@box:~$ sudo npm install -g n
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
n@1.2.9 /usr/lib/node_modules/n
vagrant@box:~$ 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

vagrant@box:~$ node -v
v0.10.25
vagrant@box:~$ npm -v
1.3.10

Mit kell tennem az npm frissítéséhez a legújabb verzióra?

    
készlet Der Hochstapler 17.12.2014 10:39
forrás

10 válasz

130

Még mindig nem értem miért , de anpm install -g npm kétszer futtatása szükséges ahhoz, hogy megkapja a kívánt hatást:

vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ 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
npm@2.1.12 /usr/local/lib/node_modules/npm
vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/lib/node_modules/npm
vagrant@box:~$ npm -v
2.1.12
    
válasz adott Der Hochstapler 17.12.2014 11:31
forrás
35

Az npm-t, a PPA-t vagy manuálisan frissítheti a nodejs-ot.

NPM :

Ellenőrizze az aktuális verziót:

node -v

A következő törli a gyorsítótárat.

sudo npm cache clean -f

An

telepítése
sudo npm install -g n

Meg tudja mondani, hogy telepít egy adott verziót, például:

sudo n 0.8.11

Vagy csak mondja meg, hogy telepítse a legfrissebb stabil változatot. Mindkettő eltarthat egy ideig.

sudo n stable

Ha látni szeretné, hogy valóban frissített-e, futtassa:

node -v

PPA :

Más lehetőség, ha a chris-lea PPA-t telepítené ;

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

Ez a PPA a következő disztrofotókat támogatja: Utópikus (14.10), Trusty (14.04), Saucy (13.10), Raring (13.04), Quantal (12.10), Pontos (12.04), Oneiric (11.10), Natty Lucid (10.04).

Manuális

Mindig frissítheti manuálisan letöltheti a legújabb verziót és telepítheti azt saját maga!

Referencia :

válasz adott blade19899 17.12.2014 11:38
forrás
33

Amikor először anpm install -g npm -ot választja, a shell (Bash) anpm -ot keresi az elérési útjában, megtalálja a/usr/bin/npm által a rendszercsomag által telepített változatot, majd használja anpm új verziójának telepítéséhez. Az új verzió telepítve lesz a/usr/local/bin/npm -ban.

Most az Ön elérési útjának/usr/local/bin/ BEFORE/usr/bin/ -ának kell lennie, tehát azt gondolná, hogy most felveszi a frissített verziót a/usr/local/bin/ -ban. Helytelen.

A bash a CACHE futtatható elérési útjait fogja keresni, amikor először keresi őket, ezért amikornpm második alkalommal mondja, akkor még mindig a gyorsítótárazott verziót használja, amelyet először/usr/bin/npm -ként talál.

Ha meg szeretné mondani, hogy a Bash törli a gyorsítótárat, és újra átnézi az utat, akkorhash -r -ot kell tennie.

A (z)npm telepítése után ezt követően az én shellom felvette anpm új verzióját.

Köszönöm

    
válasz adott Asfand Qazi 14.02.2015 12:54
forrás
16

Az NPM legfrissebb verziójának frissítése egy parancsban

Az npm verziójának frissítéséhez vagy frissítéséhez csak írja be a terminált:

sudo npm install npm@latest -g

Ahogyan a NPM dokumentációjának láthatja,

    
válasz adott Jonatas Eduardo Salgado 02.04.2016 19:53
forrás
12

Az idő nagy részében nem tudom frissíteni a globális parancsot. Ami azonban nekem sikerült, a csomagot az összes rendszer csomópont-modul forrásáról frissítem:

Tudja meg, hogy az npm telepítve van-e, és menjen be a mappába

# 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 npm@latest

Tekintse meg a hatalmas vonalhajózást mindenkinek (különösen a lusta embereknek)

cd 'whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//''; cd ..; sudo npm install npm@latest
    
válasz adott Tom Siwik 05.03.2015 15:20
forrás
1

Bármilyen trükköt csinálsz, ne használd aGit -ot, ajánlom aComposer terminal -ban történő futtatását. Biztosan dolgozni fog. Számomra anpm install npm -g     

válasz adott Gildas Niyigena 14.01.2016 19:58
forrás
1

Anpm frissítéséhez frissítenie kell anodejs -ot a következő verzióra:npm

A debian stretch és a jessie használja ezt a szkriptet:

#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

Ubuntorban az alábbi linket használhatja:

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

először olvassa el a forrást a linkben

    
válasz adott rubo77 21.01.2017 21:33
forrás
0

frissítés nodejs v0.12.7-re

 # 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

Forrás a nodesource.com-ból

    
válasz adott Rémi B. 13.07.2015 12:04
forrás
0

A problémával szembesültem. Az aktuális npm változatom3.3.12 volt, de próbáltamsudo npm install npm -g,sudo npm update npm -g .. semmi sem működött .. míg énnpm --version mindig kapok3.3.12. Kerestem a könyvtárakat az Ubuntu 15.04-ben, és megtaláltam az npm két verzióját különböző könyvtárban.

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

Így készítettem egy példányt a 3.3.12-ről amv npm npm_3312 -tel, míg régebbi npm könyvtárban voltam. Aztán asudo cp -r npm /usr/local/lib/node_modules/ -ban voltam a '/ usr / lib / node_modules' könyvtárban. Anpm --version -ot kaptam, és kaptam3.6.0

: D

    
válasz adott Ariful Haque 29.01.2016 10:47
forrás
0

Nem látok okot arra, hogy újból telepítsek valamit ott, amely készen áll, csak frissítse a update -g csomagot a csomagkezelőbe a frissítéshez:

$ npm -v
2.15.1
$ sudo npm update -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.9 /usr/local/lib/node_modules/npm
$ npm -v
3.10.9

Győződjön meg róla, hogy a globális jelző -g van a csomagok előtt. Problémák merültek fel a múltban, mivel az npm nem jegyezte be a zászlót a csomaglista után.

    
válasz adott SmujMaiku 28.10.2016 19:06
forrás