Ich versuche, eine andere NodeJS-Version mit auszuführen, erhalte nvm
jedoch den folgenden Fehler:
$ nvm use v4.2.4
nvm is not compatible with the npm config "prefix" option:
currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.
Ich habe mein Präfix absichtlich festgelegt, um dies zu vermeiden sudo npm
(siehe https://docs.npmjs.com/getting-started/fixing-npm-permissions ).
Gibt es eine Möglichkeit, die ich verwenden kann, nvm
ohne mein Präfix für global installierte Pakete zu verlieren?
Antworten:
Löschen Sie das Präfix und setzen Sie es zurück
Hinweis: Ändern Sie die Versionsnummer durch die in der Fehlermeldung angegebene.
Dank an @gabfiocchi auf Github - "Sie müssen das nvm-Präfix überschreiben"
quelle
npm config set prefix $NVM_DIR/versions/node/<node-version-directory>
Ich hatte das gleiche Problem und die Ausführung
npm config delete prefix
hat mir nicht geholfen.Aber das tat:
Erstellen Sie nach der Installation von nvm mit brau ein
~/.nvm
Verzeichnis:$ mkdir ~/.nvm
und fügen Sie folgende Zeilen hinzu
~/.bash_profile
:(Stellen Sie sicher, dass Sie in keinem
~/.bashrc
oder~/.profile
oder keinen anderen Befehl im Zusammenhang mit nvm haben.~/.bash_profile
)Öffnen Sie ein neues Terminal und dieses Mal sollte es keine Warnmeldung drucken.
Überprüfen Sie, ob nvm funktioniert, indem Sie den
nvm --version
Befehl ausführen .Danach installieren / installieren Sie NodeJS mit
nvm install node && nvm alias default node
.Mehr Info
Ich installierte
nvm
Verwendunghomebrew
und danach habe ich diese Benachrichtigung bekam:Das Ignorieren brachte mich zu dieser Fehlermeldung:
Ich folgte einer früheren Anleitung (von
homebrew/nvm
) und stellte danach fest, dass ich NodeJS neu installieren musste. So tat ich:und es wurde behoben.
Update: Die Verwendung von Brew zur Installation von NVM führt zu einem langsamen Start des Terminals. Sie können dieser Anweisung folgen, um das Problem zu beheben.
quelle
nvm alias default node
schien mir in meinem Fall zu helfennvm
wird bei der Installation über Brew nicht unterstützt. Bitte deinstallieren Sie es und verwenden Sie die richtige Methode, das Curl-Skript in der Readme-Datei.nvm
. Diese Antwort hat bei mir nicht funktioniert.rm -rf node_modules
ausführennpm install
, da die Verzeichnisse bereits Probleme mit den Berechtigungen hatten.brew remove node -f
, die alle installierten Versionen entfernt. Tun Sie dies zuerst, folgen Sie dann der Anleitung in meinem Link oben und entfernen Sie dann node_modules. Sie sollten eine Neuinstallation bekommen! Ich denke, Sie müssen dann auch npm installieren. Ich habe gerade die Anweisungen aus einem Artikel von nodejs.org befolgt, der bei der Suche aufgetaucht ist.npm install npm@latest -g
war der Befehl, sobald Sie Knoten installieren.Dies kann ein Konflikt mit Ihrer lokalen Installation von Node sein (wenn Sie es in der Vergangenheit auf einem anderen Weg als NVM installiert hatten). Sie sollten diese Instanz des Knotens löschen:
sudo rm -rf /usr/local/lib/node_modules
sudo rm /usr/local/bin/node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
Nachdem Sie nvm nicht installieren können
quelle
Dieser Fehler kann auftreten, wenn der Pfad Ihres NVM-Installationsordners einen symbolischen Link enthält .
Erläuterung
Der Standardinstallationspfad von NVM lautet:
$HOME/.nvm
Ihr Home-Ordner könnte jedoch ein symbolischer Link für ein anderes Laufwerk sein, wie in meinem Fall.Beispiel: Mein Home-Ordner ist ein symbolischer Link zu einem anderen Laufwerk:
/home/myuser -> /bigdrive/myuser
Dies verursacht das Präfixproblem.
Lösung
Ändern Sie in Ihrem Startskript (.bashrc oder .zshrc oder andere) den NVM-Ordner in den direkten Pfad.
Bsp. :
NVM_DIR="/bigdrive/myuser/.nvm"
..bashrc
quelle
Ich bin darauf gestoßen, als ich den über installierten Knoten verwendet habe
nvm
,nvm
der über Homebrew installiert wurde. Ich löste es durch Laufenbrew uninstall nvm
,rm -rf $NVM_DIR
dann Neuinstallation NVM mit dem offiziellen Skript installieren und Neuinstallation der Knoten Version , die ich brauchte.Hinweis: Ich hatte auch
$NVM_DIR
gemountet und symlinked. Ich zog es zurück in meine Heimat.quelle
Es könnte das Problem sein, wenn Sie Ihr Home-Verzeichnis irgendwo gemountet haben, da nvm mit Symlinks nicht richtig funktioniert. Da es mir egal ist, wo sich mein $ NVM_DIR befindet, führe ich dies aus und alles funktioniert einwandfrei:
quelle
Ich hatte das gleiche Problem und es war jedes Mal sehr nervig mit dem Terminal. Ich führe den Befehl zum Terminal aus und er wurde behoben
Für diejenigen, die versuchen, nvm aus dem Gebräu zu entfernen
Es reicht möglicherweise nicht aus, nur nvm zu deinstallieren
Wenn Sie sehen, dass das Präfix npm immer noch / usr / local ist, führen Sie diesen Befehl aus
quelle
Ich habe die gleiche Fehlermeldung, aber eine andere Lösung. Der automatisch generierte Pfad während des Einrollens (install.sh) stimmt nicht überein. Überprüfen Sie dies mit:
In meinem Fall :
/var/www//.nvm
. Zeigen Sie es in Ihrer automatisch generierten Bash-Datei an, ändern Sie es und ersetzen Sie es: (~ / .bash_profile, ~ / .zshrc, ~ / .profile oder ~ / .bashrc)ersetzen
mit (zB)
quelle
Ich folgte der Antwort von https://stackoverflow.com/a/47861348/2391795 , aber es hat nicht gut geklappt.
Nachdem ich die empfohlenen Befehle ausgeführt hatte, funktionierte mein nvm nicht mehr. Beim Ausführen wurde
nvm use
die richtige Knotenversion angezeigt, beim Ausführen wurdenode -v
jedoch eine andere angezeigt . Die Version des Knotens konnte nicht mehr geändert werden.Ich habe nvm vollständig deinstalliert und neu installiert, um das Problem zu beheben. Ich folgte https://github.com/creationix/nvm#manual-uninstall durch Ausführen
Dann bearbeitete ich meine
.zshrc
, um die Zeilen zu entfernen, die sich auf nvm beziehen, die in meinem Fall warenDann wurde eine neue Shell gestartet (damit nvm nicht in diese neue Shell geladen wird) und https://github.com/creationix/nvm#install-script ausgeführt
Was nvm die Zeilen hinzufügte, die ich zuvor in meinem entfernt hatte
.zshrc
.Dann konnte ich nvm wie früher verwenden. Ich denke, das ist ein seltsamer Fall, in dem Dinge schief gelaufen sind und mich gezwungen haben, alles neu zu installieren. Es sieht nicht so aus, als würden die meisten Leute dies aufgrund dieses Problems durchmachen.
quelle
Lassen Sie mich meine Situation beschreiben.
Überprüfen Sie zunächst die aktuelle Konfiguration
Dann fand ich die Fehlerkonfiguration in der Ausgabe:
Also habe ich das
C:\\Program Files\\nodejs
in /mnt/c/Users/paul/.npmrc gelöscht .quelle
Ich habe dieses Problem gelöst, als es auf VSCode- und JetBrains-Terminals angezeigt wurde, jedoch nicht im nativen Terminal mit den folgenden Befehlen:
Dies gibt Ihnen am Ende den aufgelösten Pfad:
Von dort aus sollte das Problem behoben werden, indem die Dateien entfernt und VS Code neu gestartet werden:
Fix Link: https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774
quelle
Ich suchte nach einer Lösung für das NVM-Präfix-Problem und fand diese Frage (bevor ich die Lösung fand). Hier ist meine Shell "Dialog". Ich hoffe, es kann für jemanden nützlich sein. Mit Hilfe dieses Beitrags konnte ich das Präfix festlegen: https://github.com/npm/npm/issues/6592
Wenn ich es versuchte
npm config delete prefix
odernvm use --delete-prefix
bevor ich es benutztenpm --prefix="" set prefix ""
, bekam ich nur: npm ERR! nicht ok Code 0Beachten Sie, dass Sie bei jeder Knotenversion den gleichen Vorgang wiederholen müssen. Das Präfix wird nach der Installation auf (in meinem Fall) / usr / local zurückgesetzt.
quelle
Ich hatte dieses Problem, nachdem ich meinen Home-Ordner auf ein neues Laufwerk unter Linux verschoben hatte. Es wurde behoben, indem der Ordner .nvm entfernt und nvm neu installiert wurde
quelle
Habe gerade das Problem behoben. Ich habe eine Verknüpfung
$HOME/.nvm
zum$DEV_ZONE/env/node/nvm
Verzeichnis hergestellt. Ich stand vor dem gleichen Problem. Ich ersetzteNVM_DIR
in$HOME/.zshrc
wie folgtÜbrigens, bitte installieren Sie NVM mit
curl
oderwget
Befehl nicht mitbrew
. Weitere Informationen finden Sie im Kommentar in dieser Ausgabe zu Github: 855 # issuecomment-146115434quelle
nvm
mitnpm
?Ich habe nur eine Idee. Verwenden Sie den symbolischen Link, um den Fehler zu beheben, und Sie können Ihr Präfix weiterhin für global installierte Pakete verwenden.
ln -s [your prefix path] [path in the '~/.nvm']
Dann haben Sie einen symbolischen Ordner im~/.nvm
Ordner, aber tatsächlich sind Ihre globalen Pakete immer noch in [Ihrem Präfixpfad] installiert. Dann wird der Fehler nicht mehr angezeigt und Sie können ihnnvm use **
normal verwenden. ps: es hat für mich gearbeitetmac
. pps: Vergessen Sie nicht, auf$PATH
Ihren npm-bin
Ordner zu setzen, um die global installierten Pakete zu verwenden.quelle
Hinweis:
Um nvm zu entfernen, zu löschen oder zu deinstallieren, entfernen Sie einfach
$NVM_DIR
(normalerweise~/.nvm
) den Ordner , denSie versuchen können:
rm -rf ~/.nvm
quelle