npm
Befehl npm install -g npm
.
Dies ist das Protokoll:
~
% brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-13.3.0_1.catalina.bottle.tar.gz
Already downloaded: /Users/manabu/Library/Caches/Homebrew/downloads/8a482358c0487b3ffeeebf4d1f3b3ca825018f6318ecdd6368fd0a6f45e0bea1--node-13.3.0_1.catalina.bottle.tar.gz
==> Pouring node-13.3.0_1.catalina.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
🍺 /usr/local/Cellar/node/13.3.0_1: 4,663 files, 59MB
~
% npm install -g npm
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../../../lib/node_modules/npm/man/man1/npm-access.1
npm ERR! dest /usr/local/share/man/man1/npm-access.1
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../../../lib/node_modules/npm/man/man1/npm-access.1' -> '/usr/local/share/man/man1/npm-access.1'
npm ERR! File exists: /usr/local/share/man/man1/npm-access.1
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/manabu/.npm/_logs/2019-12-18T07_51_00_280Z-debug.log
Ich habe bestätigt, dass dies erneut passiert ist, als ich brew reinstall node
.
Wie in der Ausgabe angegeben, habe ich es erfolgreich mit --force
aber ich denke, dass es besser ist, nur diese Protokolle anzuzeigen, als den Befehl npm
entfernen.
Bearbeiten (2020/01/11):
Wie in der Ausgabe angegeben, habe ich es tatsächlich erfolgreich mit
--force
Genauer gesagt habe ich folgende Schritte ausgeführt:
npm
wieder her, der von npm install -g npm
brew reinstall node
, um es wiederherzustellennpm install -g --force npm
als Ausgabe ausim Zusammenhang mit der Änderung von @isaacs in https://github.com/npm/cli/commit/320ac9aeeafd11bb693c53b31148b8d10c4165e8 npm / bin-links # 12 npm / Gentle-Fs # 7 veröffentlicht in
durch die Beule von NPM taucht von 6.13.2 bis 6.13.4 in homebrew https://github.com/Homebrew/homebrew-core/commit/6acc21a27d0ba4ecfd6ebf4d77af7025143daefe#diff -d3ef2414308e30df24a517ca9a1324ee (Autor / commited von @pepyakin @fxcoudert @bayandin)
AFAICS Dies ist beabsichtigtes Verhalten in npm. Mir ist nicht klar, wie dies in einem Homebrew-Setup gehandhabt werden soll.
https://github.com/npm/cli/issues/672
Ich habe yarn global add npm
und [email protected]
installiert, und ich habe den Fehler nicht festgestellt, aber jetzt sind alle meine vorherigen globalen Pakete weg: ((
Ich habe mich von Homebrew abgemeldet und einfach https://github.com/nvm-sh/nvm verwendet
Mach einfach
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
Dann wirst du irgendwo am Ende sehen
=> Compressing and cleaning up git repository
=> Appending nvm source string to /Users/aprilmintacpineda/.bash_profile
=> Appending bash_completion source string to /Users/aprilmintacpineda/.bash_profile
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Mach einfach source <name of profile>
In meinem Fall ist <name of profile>
~/.bash_profile
also ist es source ~/.bash_profile
dann
nvm install node
um die neueste Version von Node zu installieren, wird auch die neueste Version von npm installiert, und das hat bei mir funktioniert.
Ich bin mir nicht sicher, ob allen in diesem Thread klar ist, dass die Lösung einfach ist, wenn Sie wissen, was Sie tun und warum
npm i -g --force npm
(beachten Sie die Flagge --force
)
Das Problem ist, dass nach dem Ausführen von npm -I npm und dem Abrufen des Fehlers das Ausprobieren eines npm-Befehls mit 'zsh: Befehl nicht gefunden: npm' fehlschlägt, sodass ich den Befehl --force nicht ausführen konnte, selbst wenn ich wollte. Ich musste den Neuinstallationsknoten brauen, um npm zurück zu bekommen.
Sorry Leute, ich habe nicht vollständig beschrieben, wie ich dieses Problem vorübergehend vermieden habe. Ich habe die Beschreibung aktualisiert, bitte schauen Sie.
Ich bin mir nicht sicher, ob allen in diesem Thread klar ist, dass die Lösung einfach ist, wenn Sie wissen, was Sie tun und warum
npm i -g --force npm
(beachten Sie die Flagge--force
)
Dies war die einzige Lösung, die ich gefunden habe, um dies tatsächlich zu beheben.
Das zweite Mal passiert mir das in ein paar Wochen. Sie können es mit brew reinstall node
beheben.
Hier ist die Ausgabe, die ich bekomme npm install -g npm
:
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../../../lib/node_modules/npm/man/man1/npm-adduser.1
npm ERR! dest /usr/local/share/man/man1/npm-adduser.1
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../../../lib/node_modules/npm/man/man1/npm-adduser.1' -> '/usr/local/share/man/man1/npm-adduser.1'
npm ERR! File exists: /usr/local/share/man/man1/npm-adduser.1
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/albertvilacalvo/.npm/_logs/2020-01-13T11_55_47_922Z-debug.log
Zusammenfassend lautet die Lösung:
brew reinstall node
npm i -g --force npm
Dies geschieht nicht nur bei der Installation von Homebrew. Ich habe das gleiche Problem mit dem Installationsprogramm von nodejs (von der offiziellen Website). Das Update funktioniert jedoch ... (sudo npm i -g --force npm)
Aktualisieren von npm löscht npm? Und es ist seit Dezember nicht mehr festgelegt?
Aktualisieren von npm löscht npm? Und es ist seit Dezember nicht mehr festgelegt?
Ja, es ist mir gerade auch unter MacOS 10.15.2 passiert
Ist mir auch passiert. MacOS Catalina 10.15.3
Das ist mir gerade unter Ubuntu passiert und ich benutze kein "Brauen".
Am Ende habe ich versucht, npm neu zu installieren, aber ohne sudo konnte ich es nicht installieren. Mit sudo installiert, dann eine (anscheinend schlechte) Anleitung gefunden, um den Besitz des Verzeichnisses ~ / .npm (und einiger anderer) zurückzugewinnen. Anfangs hat es immer noch nicht funktioniert, aber Hash -r hat es behoben (im Nachhinein könnte ein Neustart meines Ubuntu auch funktioniert haben). Es gibt eine geringe Möglichkeit, dass dies auch ein Problem behoben hat, das ich mit React-Snap hatte.
Dieser Fehler wurde 2014 gemeldet und ist mir heute im Jahr 2020 passiert. Was für eine Katastrophe. Wird das jemals behoben werden?
Ich habe mich von Homebrew abgemeldet und einfach https://github.com/nvm-sh/nvm verwendet
Mach einfach
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
Dann wirst du irgendwo am Ende sehen
=> Compressing and cleaning up git repository => Appending nvm source string to /Users/aprilmintacpineda/.bash_profile => Appending bash_completion source string to /Users/aprilmintacpineda/.bash_profile => Close and reopen your terminal to start using nvm or run the following to use it now: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Mach einfach
source <name of profile>
In meinem Fall ist<name of profile>
~/.bash_profile
also ist essource ~/.bash_profile
dann
nvm install node
um die neueste Version von Node zu installieren, wird auch die neueste Version von npm installiert, und das hat bei mir funktioniert.
Dies passiert nicht, wenn Sie nvm verwenden
"Das passiert nicht, wenn Sie nvm verwenden"
Ja, es passiert auch nicht, wenn Sie yarn
, aber ich bin mir nicht sicher, ob das relevant ist.
Ich finde das irrelevant. NVM ist Node Version Manager. Ich habe dies erlebt, als ich Brew zum Installieren von Node verwendet habe. Dann bin ich zu NVM gewechselt, seitdem habe ich dies noch nicht erlebt. Überprüfen Sie es hier, wenn Sie nicht wissen, was es ist https://github.com/nvm-sh/nvm#installing -and-updating
Hilfreichster Kommentar
Zusammenfassend lautet die Lösung: