Vraag Hoe werk je npm bij naar de nieuwste versie? [duplicaat]


Deze vraag heeft hier al een antwoord:

Ik heb problemen met npm in een Vagrant-doos die ik aan het opzetten ben. Ik merkte dat de npm versie is enigszins oud, dus ik wilde het probleem met de nieuwste release bekijken.

Ik ben van mening dat je moet kunnen updaten npm gebruik makend van npm install -g npm, maar de opdracht heeft geen effect op de npm gebruikt worden:

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

Ik heb ook geprobeerd om te gebruiken n (zoals voorgesteld in Hoe kan ik mijn nodeJS updaten naar de nieuwste versie?) om bij te werken, maar dit heeft geen invloed op geen van beide npm noch node:

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

Wat moet ik doen om npm bij te werken naar de nieuwste versie?


110
2017-12-17 09:39


oorsprong


Weet je zeker dat er een nieuwere versie beschikbaar is? Omdat voor mij 1.3.10 de nieuwste versie is die beschikbaar is in de officiële repo. - Registered User
@RegisteredUser: In mijn eerste uitvoerlijst staat het zelfs 2.1.12, wat de nieuwste release is: github.com/npm/npm/releases - Der Hochstapler
Probeer, $ sudo npm npm -g te installeren - vembutech
@vembutech: dat deed ik. Tenzij je suggereert dat het -g moet ergens anders op de opdrachtregel worden geplaatst. - Der Hochstapler
which npm is erg behulpzaam. Oud npm was binnen /usr/local/bin en heeft prioriteit hierboven /usr/bin nieuwe - vp_arth


antwoorden:


Ik begrijp het nog steeds niet waarom, maar ik moet rennen npm install -g npm  tweemaal want het heeft het gewenste effect:

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

130
2017-12-17 10:31



Als u onlangs opnieuw hebt geconfigureerd om te stoppen sudo, zoals hier gesuggereerd: justjs.com/posts/..., je hebt mogelijk je ~ / .bashrc-bestand gewijzigd. Wees dus zeker om te rennen source ~/.bashrc of anders npm -v zal de bijgewerkte versie niet vinden. - modulitos
Ik heb zojuist mijn shell-instantie opnieuw geopend en de bijgewerkte versie geopend. - absynce
Voor mij werkte het vanaf de eerste keer. - Daneel S. Yaitskov
Ik moest dit ook in 14.04 twee keer doen voordat het werd opgehaald. Ik had niet anders geraden. Proost - Dark Star1
Geen idee, hoe ik daar kwam, maar dit kan iemand helpen: nadat je nodejs hebt geïnstalleerd zoals hier uitgelegd https://nodejs.org/en/download/package-manager/, je moet je terminal herstarten en het zal daar zijn. U Niet doen moet installeren npm afzonderlijk! U hoeft dus ook niet te installeren en bij te werken npm. - Ufos


U kunt nodej's updaten door npm zelf, een PPA of handmatig te gebruiken.

NPM:

Controleer de huidige versie die u hebt:

node -v

Het volgende wist je cache.

sudo npm cache clean -f

Installeren n

sudo npm install -g n

Je kunt het vertellen om een ​​specifieke versie te installeren zoals:

sudo n 0.8.11

Of vertel het om de nieuwste stabiele versie te installeren. Beide kunnen even duren.

sudo n stable

Om te zien of het een upgrade heeft uitgevoerd, voert u het volgende uit:

node -v

PPA:

Andere optie is om het te installeren via een PPA door chris-lea;

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

Deze PPA ondersteunt de volgende distributies: 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 ).

handmatig:

U kunt het altijd handmatig bijwerken downloaden de nieuwste versie en installeer het zelf!


Referentie:


35
2017-12-17 10:38



Ik weet dat je probeert te helpen, maar dat is precies wat het zegt in mijn vraag. - Der Hochstapler
@OliverSalzburg, mijn slechte, ik zag de bovenstaande post en was te luidruchtig om te lezen. Dus ik ben net begonnen met posten, mijn eigen antwoord. - blade19899
@OliverSalzburg, ik heb mijn antwoord bijgewerkt met meerdere opties voor het upgraden! - blade19899
geweldig, het gebruik van n werkte goed voor mij (debian sid) - Michel Feldheim
Dit is natuurlijk het juiste antwoord. Het irriteert me als vraagaffiches de eigen vraag 'VERKEERD' beantwoorden en dan als geaccepteerd markeren. Ze moeten bestraft worden! - Twifty


Wanneer je het voor het eerst doet npm install -g npm, de shell (Bash) zal zoeken npm op je pad, vind /usr/bin/npm geïnstalleerd door het systeempakket en gebruik het vervolgens om de nieuwe versie van te installeren npm. De nieuwe versie wordt geïnstalleerd in /usr/local/bin/npm.

Nu zou je pad moeten zijn /usr/local/bin/ VOOR /usr/bin/, dus je zou denken dat het nu de bijgewerkte versie zou ophalen /usr/local/bin/, toch? Fout.

Bash zal CACHE uitvoerbare paden na de eerste keer dat het naar ze zoekt, dus als je zegt npm de tweede keer gebruikt het nog steeds de cache-versie die het voor het eerst heeft gevonden /usr/bin/npm.

Om Bash te vertellen om deze cache te wissen en opnieuw het pad te doorlopen, moet je a hash -r.

Na installatie npm en toen ik dit deed, pakte mijn shell de nieuwe versie van npm prima.

Bedankt


32
2018-02-14 11:54



dit werkte voor mij op 14.04 Bedankt! - prnt.sc/bybbao - Patoshi パトシ
Dit werkte voor mij, bedankt. Alle andere antwoorden werkten niet. - rotoava
Perfect en duidelijk antwoord dat het voor mij werkte - mrroboaat
Windows 10 Bash 14.04 dit werkte voor mij na het updaten - mrpatg
hash -r red mijn reet. XD - novaline


Werk NPM bij naar de nieuwste versie in één opdracht

Voer de terminal in om de versie van uw npm te upgraden of bij te werken:

sudo npm install npm@latest -g

Zoals vermeld in de voettekst van de NPM-documentatie


15
2018-04-02 17:53





Meestal kan ik het niet upgraden met de globale opdracht. Wat echter voor mij werkte, was het pakket upgraden van de bron van alle systeemknoopmodules:

Ontdek waar npm is geïnstalleerd en ga naar die map

# 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

Zie de machtige one-liner voor iedereen (vooral luie mensen)

cd `whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//'`; cd ..; sudo npm install npm@latest

12
2018-03-05 14:20



Dit loopt voor mij vrij van fouten (in tegenstelling tot andere antwoorden), maar npm blijft niet bijgewerkt - PandaWood
als jij sudo het maakt gebruik van de map npm van het root-account, wees je daar bewust van. Als je wilt weten waar je npm is, typ je gewoon: whereis npm | xargs readlink -f. Misschien heb je daar net het verkeerde pakket geüpgraded. Ik heb wat info toegevoegd aan mijn antwoord. - Tom Siwik


Elke truc die je doet, gebruik je niet Git, Ik raad ze aan in de Composer terminal. Het zal zeker werken. Het deed het voor mij npm install npm -g.


1
2018-01-14 18:58





Upgraden npm je moet updaten nodejs naar de nieuwste versie die bevat npm

Gebruik in debian stretch en jessie dit script:

#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 kun je dit script gebruiken van https://deb.nodesource.com:

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

zie eerst de bron bij https://github.com/nodesource/distributions/blob/master/deb/setup_7.x


1
2018-01-21 20:33





upgraden naar 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

Bron van nodesource.com


0
2017-07-13 10:04





Ik stond voor het probleem. Mijn huidige npm-versie was 3.3.12 maar ik probeerde het sudo npm install npm -g, sudo npm update npm -g .. niets werkte .. terwijl ik npm --version Ik krijg altijd 3.3.12. Ik zocht naar mappen in mijn Ubuntu 15.04 en vond twee versies van npm in verschillende directory's.

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

Dus ik heb een kopie gemaakt van 3.3.12 met mv npm npm_3312 terwijl ik in de oudere npm-directory zat. Toen deed ik het sudo cp -r npm /usr/local/lib/node_modules/ terwijl ik in de directory '/ usr / lib / node_modules' was .. heb ik mijn gemaakt npm --version en ik kreeg 3.6.0 

: D


0
2018-01-29 09:47





Ik zie geen enkele reden om iets opnieuw te installeren dat er klaar voor is, gewoon gebruiken update -g ingebouwd in de pakketbeheerder om zichzelf bij te werken:

$ 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

Zorg ervoor dat de wereldwijde vlag -g is vóór de pakketten. Ik heb in het verleden problemen gehad met het niet registreren van de vlag na de pakketlijst.


0
2017-10-28 17:06