Ich möchte npm aktualisieren, aber es scheint, als ob ich 2 Versionen habe und ich bin mir nicht sicher, wie man es am besten lösen, so dass ich nur eins habe.Npm auf der alten Version fest, aber scheinen mehrere Versionen zu haben
Mein Hauptproblem ist gerade ich habe einige ältere Yeoman Generatoren in
/Users/me/.npm-packages/lib/node_modules/
,
aber neuere gegangen in /Users/me/.npm-global/lib/node_modules/
Als ich yo
laufen, es ist nur die älteren Generatoren zu finden.
Ich möchte alle meine global installierten Pakete an einem Ort unter einem Benutzer haben, und ich möchte nicht sudo Sachen, die ich nicht brauchen sollte.
Es scheint, wie ich Knoten in /Users/me/.npm-packages/bin/npm
haben und vielleicht auch /usr/local/bin/npm
. Ich bin zu beiden Verzeichnissen gegangen und in beiden aktualisiert npm, aber es gibt immer noch 2.11.2 statt 3.8.6, die es angeblich installiert hat. hier einige CLIing ich getan habe, zu beheben, um zu versuchen:
➜ ~ which npm
/Users/me/.npm-packages/bin/npm
➜ ~ sudo which npm
/Users/me/.npm-packages/bin/npm
➜ ~ npm install [email protected]
[email protected] node_modules/npm
➜ ~ npm -v
2.11.2
➜ ~ npm install -g [email protected]
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/Users/me/.npm-packages/bin/npm" "install" "-g" "[email protected]"
npm ERR! node v5.10.1
npm ERR! npm v2.11.2
npm ERR! path /usr/local/lib/node_modules/npm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rmdir
..etc
➜ ~ sudo npm install -g [email protected]
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm
➜ ~ npm -v
2.11.2
Ich habe auch versucht NVM und die Installation der neuesten Version von NPM in der es, wie beschrieben, here
Mein .zshrc
hat PATH-Variable zu installieren:
NPM_PACKAGES=/Users/me/.npm-packages
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
PATH="$NPM_PACKAGES/bin:$PATH"
Wollen aktuelle Knoten verwenden und auch zu standardisieren, wo meine Pakete sind, und würde in Ordnung sein, alles weg bläst, damit es richtig funktioniert. Hoffentlich ist dies leicht zu diagnostizieren für jemanden, der mehr über dieses Zeug als ich weiß.
Würden Sie sich mit Ihrer globalen Installation wohler fühlen? Müssen beide Versionen installiert sein? – pandres95
Ich wollte nie wirklich 2 globale Versionen installiert haben. Die Hauptsache ist, dass ich sicherstellen möchte, dass es mir gehört und nicht root .. oder was auch immer nötig ist, also muss ich nicht "sudo" machen, um globale Sachen zu machen. – Damon
Ich sehe vielleicht, dass Sie eine global installierte Version verwenden. Das globale Paketregister ('NPM_PACKAGES'-Variable) befindet sich jedoch in Ihrem Benutzer. Die Sache ist, es unmöglich zu machen und "sudo npm i -g npm @ latest". Dann wieder aktivieren Sie Ihre lokalen 'NPM_PACKAGES' Variablen. – pandres95