Jak aktualizujete npm na nejnovější verzi? [duplikát]

111

Mám problémy snpm v poli Vagrant, kterou nastavuji. Všiml jsem si, že verzenpm je poněkud stará, takže jsem chtěl problém zkontrolovat s nejnovější verzí.

Podle mého názoru byste měli být schopni aktualizovatnpm pomocínpm install -g npm, ale příkaz nemá žádný vliv na použitýnpm:

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

Také jsem se pokusil použítn (jak je doporučeno v Jak mohu aktualizovat svůj nodeJS na nejnovější verzi? ), ale neovlivňuje aninpm aninode:

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

Co musím udělat pro aktualizaci npm na nejnovější verzi?

    
dané Der Hochstapler 17.12.2014 10:39

10 odpovědí

130

Pořád nerozumím proč , ale musím spustitnpm install -g npm dvakrát , aby měl požadovaný efekt:

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
    
odpověděl Der Hochstapler 17.12.2014 11:31
35

Můžete aktualizovat nodejs pomocí npm samotného, ​​PPA nebo ručně.

npm :

Zkontrolujte aktuální verzi, kterou máte:

node -v

Vymažete mezipaměť.

sudo npm cache clean -f

Nainstalujten

sudo npm install -g n

Můžete mu říct, že nainstaluje určitou verzi, jako je tato:

sudo n 0.8.11

Nebo mu řekněte, že nainstaluje nejnovější stabilní verzi. Oba mohou chvíli trvat.

sudo n stable

Chcete-li zjistit, zda skutečně upgradoval, spusťte:

node -v

PPA :

Další možností je nainstalovat jej prostřednictvím PPA od chris-lea ;

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

Tato PPA podporuje následující distros: Utopic (14.10), Trusty (14.04), Saucy (13.10), Raring (13.04), Quantal (12.10), Precise (12.04), Oneiric Lucid (10.04).

Ručně :

Můžete jej vždy aktualizovat ručně stahovat nejnovější verzi a nainstalovat ji sami!

Odkaz :

odpověděl blade19899 17.12.2014 11:38
33

Při prvním dělatnpm install -g npm, bude shell (Bash) hledatnpm v cestě, najít/usr/bin/npm nainstalovány v balíčku systému a potom jej použít k instalaci nové verzenpm. Nová verze bude nainstalována v/usr/local/bin/npm.

Nyní by vaše cesta měla mít/usr/local/bin/ BEFORE/usr/bin/, takže byste si mysleli, že by nyní vybral aktualizovanou verzi v/usr/local/bin/, ne? Špatně.

Bash bude CACHE spustitelné cesty po prvním hledání, takže když spouštítenpm druhýkrát, stále používá verzi v mezipaměti, která nejprve nalezla jako/usr/bin/npm.

Chcete-li Bashovi vyložit vymazání této mezipaměti a znovu projít cestu, musíte provésthash -r.

Po instalacinpm a při tom můj shell zvedl novou verzinpm v pořádku.

Díky

    
odpověděl Asfand Qazi 14.02.2015 12:54
16

Aktualizujte NPM na nejnovější verzi v jednom příkazu

Chcete-li aktualizovat nebo aktualizovat verzi npm, zadejte pouze terminál:

sudo npm install npm@latest -g

Jak je uvedeno v zápatí dokumentace NPM

    
odpověděl Jonatas Eduardo Salgado 02.04.2016 19:53
12

Většinu času nemohu aktualizovat pomocí globálního příkazu. Co pro mě pracovalo, je však upgrade balíčku ze zdroje všech uzlů modulů systému:

Zjistěte, kde je nainstalována npm a přejděte do této složky

# 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

Podívejte se na silnou jednu linku pro všechny (obzvláště líné lidi)

cd 'whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//''; cd ..; sudo npm install npm@latest
    
odpověděl Tom Siwik 05.03.2015 15:20
1

Kterýkoliv trik, který používáte, nepoužívejteGit, doporučuji spustit je vComposer terminal. Určitě to bude fungovat. Pro mě to bylonpm install npm -g.

    
odpověděl Gildas Niyigena 14.01.2016 19:58
1

Chcete-li provést upgradenpm, musíte aktualizovatnodejs na nejnovější verzi, která obsahujenpm

V debian stretch a jessie použijte tento 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

V Ubuntu můžete použít tento skript z Odkazu :

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

Najděte zdroj nejprve na adrese Odkaz

    
odpověděl rubo77 21.01.2017 21:33
0

inovace na 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

Zdroj z nodesource.com

    
odpověděl Rémi B. 13.07.2015 12:04
0

Stál jsem před problémem. Moje aktuální npm verze byla3.3.12, ale pokusil jsem sesudo npm install npm -g,sudo npm update npm -g .. nic nefungovalo .. zatímco jánpm --version Vždy dostanu3.3.12. Hledal jsem adresáře v mém Ubuntu 15.04 a našel jsem dvě verze npm v jiném adresáři.

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

Takže jsem vytvořil kopii 3.3.12 smv npm npm_3312, když jsem byl ve starším adresáři npm. Pak jsem udělalsudo cp -r npm /usr/local/lib/node_modules/, když jsem byl v adresáři '/ usr / lib / node_modules'. Udělal jsem svénpm --version a dostal jsem3.6.0

: D

    
odpověděl Ariful Haque 29.01.2016 10:47
0

Nevidím žádný důvod, proč přeinstalovat něco, co je připraveno, stačí použít update -g zabudovaný do správce balíčků, aby se aktualizoval:

$ 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

Ujistěte se, že globální příznak -g je před balíčky. V minulosti jsem měl problémy s tím, že npm nezaregistrujete příznak po seznamu balíčků.

    
odpověděl SmujMaiku 28.10.2016 19:06