hoe npm op macOS te updaten

Om mij onbekende redenen heb ik niet kunnen updaten naar de nieuwste versie van npm op macOS (het werkt prima op Windows). Er wordt geen fout weergegeven, alleen ‘1 pakket bijgewerkt’.

Node.js 8.11.1 gebruiken

node -v
v8.11.1

Welke versie van npm heb ik?

$ npm -v
5.6.0

Ik heb dit geprobeerd…

$ npm i -g npm
+ [email protected]
updated 1 package in 7.37s

En het kan niet worden bijgewerkt.

$ npm -v
5.6.0

Waar is npm?

$ which npm
/usr/local/bin/npm

Dus ik probeer brew

brew install npm

En het mislukt…

$ npm -v
5.6.0

*En toen probeerde ik dit… *

npm install npm@latest -g
+ [email protected]
updated 1 package in 7.618s

En het mislukt…

npm -v
5.6.0

Met sudo:

sudo npm i -g npm
+ [email protected]
updated 1 package in 7.794s

En het mislukt…

npm -v
5.6.0

Dit mislukt ook…

sudo npm install npm@latest -g

Ik volgde de aanwijzingen gevonden in deze Q&A, waarbij npm en node volledig van mijn systeem worden verwijderd en helemaal opnieuw worden geïnstalleerd, en het kan ook niet worden bijgewerkt.


Screenshot, op verzoek:


Sluit de terminal en open vervolgens de terminal en het uitvoeren:

$ npm -v
5.6.0

sudotwee keer:

$ sudo npm i -g npm
+ [email protected]
updated 1 package in 7.478s
$ sudo npm i -g npm
+ [email protected]
updated 1 package in 7.434s

faalt ook:

$ npm -v
5.6.0

Wat heb ik gemist? Wat is hier aan de hand?


Antwoord 1, Autoriteit 100%

Misschien heb je dit al opgelost, maar hier is wat ik heb gevonden toen ik precies dit probleem had. Ik had 2 versies van NPM geïnstalleerd.

Ik heb dit als volgt geverifieerd:

grep \"version\" ~/.npm-packages/lib/node_modules/npm/package.json
  "version": "6.2.0"
grep \"version\" /usr/local/lib/node_modules/npm/package.json
  "version": "5.6.0",

Ik heb het probleem gewerkt door het pad in mijn bashprofiel bij te werken, maar zou graag willen weten waarom (hoe) ik eindigde met 2 versies. Hier is de update:

tail -2 ~/.bash_profile
NPM_PACKAGES="${HOME}/.npm-packages"
PATH="$NPM_PACKAGES/bin:$PATH"

Antwoord 2, Autoriteit 459%

Dit werkt op mijn Mac.

Gebaseerd op docs https: //docs.npmjs .com / Problemen oplossen / try-the-nieuwste-stable-versie-of-NPM :

npm install -g npm@latest

Er is een notitie die is vermeld op de DOCS die afhankelijk is van uw installatiemethode, kunt u sommige sudotoevoegen.

Upgrading op * NIX (OSX, Linux, enz.)

(Mogelijk moet u deze opdrachten voorvoegen met Sudo, vooral op Linux,
of OS X als u het knooppunt hebt geïnstalleerd met behulp van het standaardinstallateur.)


Antwoord 3, Autoriteit 82%

npm install -g npm@latest
werkt prima!!
en je kunt ook de nieuwste vervangen voor specifieke versies
Leuk vinden
npm install -g [email protected]

Ik hoop dat het zal helpen!!!


Antwoord 4, autoriteit 29%

Ik had hetzelfde probleem.
Mogelijk hebt u de npm-versie al geïnstalleerd en nu is het tijd om de nieuwe npm-versie te installeren. U kunt dat doen door de onderstaande stappen te volgen.

  1. sudo nano /usr/local/lib/node_modules/npm/package.json
  2. wijzig "version" : "5.6.0"in "verison": "5.8.0"

Antwoord 5, autoriteit 29%

In mijn geval werkte geen van de vorige antwoorden. Voor mij was een werkende oplossing een eenvoudig proces van vijf stappen.

  1. Zorg ervoor dat (de oude versie van) npm is geïnstalleerd.

npm -v

Als npm niet is geïnstalleerd, installeer het dan op de Mac met Node.js.

  1. Globaal de gewenste versie van npm geïnstalleerd.
npm install -g npm@latest

Deze opdracht gebruikt de oude versie van npm (geïnstalleerd door Node) om de nieuwste versie van npm globaal te installeren op ~/.npm-global/. Eenmaal geïnstalleerd, sluit en open je een nieuwe terminal-shell.

  1. Verwijder de oude versie van npm geïnstalleerd door Node
rm -r /usr/local/lib/node_modules/npm/

Soms werkt dit niet, dus moest ik naar de Finder om de map /npm/te verwijderen.

  1. Zorg ervoor dat u de juiste padvariabele instelt.
echo $PATH

Als ~/.npm-global/binniet tussen de dubbele punten verschijnt, werk dan de padvariabele bij. Open ~/.zshrcin een teksteditor en voeg de volgende regel toe. Als je zsh niet gebruikt, open dan het profiel voor je corresponderende shell (d.w.z. ~/.bash_profile)

export PATH=$PATH:$HOME/.npm-global/bin

Sla uw wijzigingen op en sluit de teksteditor.

  1. Sluit de terminal-shell en open deze opnieuw en voer npm -vuit om te controleren of npm de nieuwste versie heeft.

De reden voor het bijwerken van de padvariabele is omdat de npm-cli suggereert dat u npm bijwerkt met npm install -g npm, waarmee npm op een andere locatie wordt geïnstalleerd dan waar Node npm oorspronkelijk installeert.


Antwoord 6, autoriteit 18%

In mijn geval gebruik ik nvmom verschillende versies van nodete beheren. Om de npm-versie te upgraden, moet ik

1 – Installeer de nieuwste versie van npm door naar uw huidige
versie van node

cd ~/.nvm/versions/node/v10.9.0
npm install npm

of je kunt het waarschijnlijk gebruiken

nvm install-latest-npm

2 – Bewerk $PATHzodat het verwijst naar uw huidige versie van node

NPM_PACKAGES="${HOME}/.nvm/versions/node/v10.9.0"
PATH="$NPM_PACKAGES/bin:$PATH"

Antwoord 7, autoriteit 18%

In mijn geval heeft alleen het volgende geholpen:

sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
brew uninstall --ignore-dependencies node
brew install node

Other episodes