Meine Version des Knotens ist immer v0.6.1-pre, auch nachdem ich brew node und NVM install v0.6.19 installiert habe.
Meine Knotenversion ist:
node -v
v0.6.1-pre
NVM sagt dies (nachdem ich zum ersten Mal eine Version des Knotens in einem Bash-Terminal installiert habe):
nvm ls
v0.6.19
current: v0.6.19
Aber wenn ich bash neu starte, sehe ich Folgendes:
nvm ls
v0.6.19
current: v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)
Wo ist dieser Phantomknoten 0.6.1-pre-Version und wie kann ich ihn loswerden? Ich versuche, Bibliotheken über NPM zu installieren, damit ich an einem Projekt arbeiten kann.
Ich habe versucht, mit BREW vor NVM ein Update durchzuführen, und zwar mit "Brew Update" und "Brew Install Node". Ich habe versucht, das Verzeichnis "node" in meinem/usr/local/include und die "node" und "node_modules" in "/usr/local/lib"." zu löschen und installieren Sie es nach diesen Anweisungen erneut.
All dies, weil ich versuchte, eine ältere Version von node zu aktualisieren, um die "zipstream" -Bibliothek zu installieren. Es gibt jetzt Ordner in meinem Benutzerverzeichnis, und die Knotenversion STILL ist nicht auf dem neuesten Stand, auch wenn NVM angibt, dass sie 0.6.19 verwendet.
Idealerweise möchte ich nodejs, npm und nvm deinstallieren und einfach die gesamte Sache auf meinem System neu installieren.
Anscheinend gab es einen /Users/myusername/local
-Ordner, der eine include
mit node
und lib
mit node
und node_modules
enthielt. Wie und warum dies statt in meinem /usr/local
-Ordner erstellt wurde, weiß ich nicht.
Durch das Löschen dieser lokalen Referenzen wurde das Phantom v0.6.1-pre behoben. Wenn jemand eine Erklärung hat, wähle ich diese als richtige Antwort.
EDIT:
Möglicherweise müssen Sie auch die zusätzlichen Anweisungen ausführen:
Sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
das ist das Äquivalent von (wie oben) ...
Sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp
oder (wie oben) aufgeschlüsselt ...
Um Node + npm vollständig zu deinstallieren, gehen Sie folgendermaßen vor:
Möglicherweise müssen Sie auch Folgendes tun:
Sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
Sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
Darüber hinaus ändert NVM die PATH-Variable in $HOME/.bashrc
, die manuell zurückgegeben werden muss .
Laden Sie dann nvm herunter und befolgen Sie die Anweisungen zum Installieren des Knotens. Die neuesten Versionen von node werden mit npm geliefert, glaube ich, aber Sie können das auch neu installieren.
Zu entfernen:
brew uninstall node;
# or `brew uninstall --force node` which removes all versions
brew cleanup;
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d;
rm -rf ~/.npm;
Installieren:
brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc
Sie können brew info node
ausführen, um weitere Informationen zu den Knoteninstallationen zu erhalten.
NVM (Node Version Manager) ist eine tragbare Lösung zum Verwalten mehrerer Knotenversionen
> nvm uninstall v4.1.0
> nvm install v8.1.2
> nvm use v8.1.2
> nvm list
v4.2.0
v5.8.0
v6.11.0
-> v8.1.2
system
Ich weiß, dass dieser Beitrag etwas veraltet ist, aber ich wollte nur die Befehle teilen, die in Terminal beim Entfernen von Node.js für mich funktionieren.
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do Sudo rm /usr/local/${f}; done
Sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
23 SEP 2016
Danke an jguix
für this quick tutorial
.
Erstellen Sie zunächst eine Zwischendatei:
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt
Überprüfen Sie Ihre Datei manuell (im Ordner Home
).
~/filelist.txt
Dann lösche die Dateien:
cat ~/filelist.txt | while read f; do Sudo rm /usr/local/${f}; done
Sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
Danke Lenar Hoyt
Gist Kommentar Quelle:gistcomment-1572198
Original Gist:TonyMtz/d75101d9bdf764c890ef
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | while read f; do Sudo rm /usr/local/${f}; done
Sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
Auf Mavericks installiere ich es vom Knoten pkg (von nodejs site) und deinstalliere es, damit ich es wieder mit Brew installieren kann. Ich führe nur 4 Befehle im Terminal aus:
Sudo rm -rf /usr/local/lib/node_modules/npm/
brew uninstall node
brew doctor
brew Prune
Wenn noch eine Knoteninstallation vorhanden ist, wiederholen Sie Schritt 2. Nachdem alles in Ordnung ist, installiere ich brew install node
Zuerst:
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do Sudo rm /usr/local/${f}; done
Sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
Um es noch einmal zusammenzufassen: Die beste Möglichkeit, Knoten + npm vollständig zu deinstallieren, besteht darin, Folgendes zu tun:
gehen Sie zu /usr/local/lib
und löschen Sie alle Knoten und Knotenmodule
cd /usr/local/lib
Sudo rm -rf node*
gehen Sie zu /usr/local/include
und löschen Sie alle Knoten und Knoten_Module-Verzeichnisse
cd /usr/local/include
Sudo rm -rf node*
wenn Sie mit brew install node
installiert haben, führen Sie brew uninstall node
in Ihrem Terminal aus
brew uninstall node
Überprüfen Sie in Ihrem Home-Verzeichnis nach "local" - oder "lib" - oder "include" -Ordnern und löschen Sie alle "node" oder "node_modules"
gehen Sie zu/usr/local/bin und löschen Sie alle ausführbaren Knoten
cd /usr/local/bin
Sudo rm -rf /usr/local/bin/npm
ls -las
Möglicherweise müssen Sie auch die zusätzlichen Anweisungen ausführen:
Sudo rm -rf /usr/local/share/man/man1/node.1
Sudo rm -rf /usr/local/lib/dtrace/node.d
Sudo rm -rf ~/.npm
Quelle: tonyMtz
downgrade-Knoten auf 0.10.36
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n 0.10.36
upgrade-Knoten auf Stable v
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable
Ich bin nicht sicher, ob es sich um eine alte Version (4.4.5) handelt oder ob ich das offizielle Installationsprogramm verwendet habe, aber die meisten Dateien, auf die in anderen Antworten verwiesen wird, waren auf meinem System nicht vorhanden. Ich musste nur Folgendes entfernen:
~/.node-gyp
~/.node_repl_history
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/include/node
/usr/local/lib/dtrace/node.d
/usr/local/lib/node_modules
/usr/local/share/doc/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp
Ich entschied mich für ~/.npm
, weil ich vorhatte, Node mit Homebrew neu zu installieren.
Zusätzlich zur Hauptantwort musste ich alle npm-Instanzen entfernen, die gefunden wurden in:
rm -rf /usr/local/share/man/man1/npm*
Bei der Deinstallation von Node.js auf meinem Mac ist ein Problem aufgetreten. Ich hatte ein seltsames Verhalten wie npm
, obwohl sie immer noch entfernt wurden.
Ich hatte eine alte Installation mit macport. Sie müssen es also auch mit port deinstallieren:
Sudo port uninstall nodejs
Möglicherweise haben Sie viele verschiedene Versionen von Node.js installiert. Deinstallieren Sie sie alle (eine nach der anderen).
In Dominic Tancredis fantastische Antwort habe ich ein bash-Paket und ein eigenständiges Skript erstellt. Wenn Sie bereits den "Back Package Manager" mit dem Namen bpkg verwenden, können Sie das Skript installieren, indem Sie Folgendes ausführen:
bpkg install -g brock/node-reinstall
Oder schauen Sie sich das Skript auf Github unter brock/node-uninstall an. Mit dem Skript können Sie einen Knoten mithilfe von nvm oder navi erneut installieren und eine Knotenversion als Standard festlegen.
Arbeitete für mich.
$node --version
v11.1.0
$nvm deactivate
$nvm uninstall v11.1.0
vielleicht musst du machen
hash -r
es hilft bei problem von symlink
$ node -v
$ bash: /opt/local/bin/node: No such file or directory
Sie können https://github.com/brock/node-reinstall klonen und den im Repository angegebenen einfachen Befehl ausführen. Starten Sie danach einfach Ihr System neu.
Dies ist die einfachste Methode und hat auch für mich funktioniert.
Ich hatte Node.js von der Quelle installiert, die vom git-Repository heruntergeladen wurde. Ich habe installiert mit:
./configure
$ make
$ Sudo make install
Da die make-Datei dies unterstützt, kann ich Folgendes tun:
$ Sudo make uninstall
Löschen Sie node und/oder node_modules aus/usr/local/lib
ex code:
cd /usr/local/lib
Sudo rm -rf node
Sudo rm -rf node_modules
Löschen Sie node und/oder node_modules aus/usr/local/include
Am besten laden Sie ein Installationspaket herunter: .pkg auf dem Mac. Bevorzugen Sie die neueste stabile Version.
Hier ist der Link: Node.js
Dieses Paket überschreibt eventuell die vorherige Version und setzt die Umgebungsvariablen entsprechend. Führen Sie einfach das Installationsprogramm aus und es ist mit wenigen Klicks erledigt.
Nach dem
brew uninstall node
Ich musste wissen, welcher Knoten
which node
dann entferne das
rm -rf /usr/local/bin/node
Dies behebte es für mich Fixierung von npm unter Mac OS X für Homebrew-Benutzer . Und es erfordert nicht zu viele Schritte.
Gehen Sie einfach zum Lösungsteil, wenn Sie sich nicht für das Warum interessieren.
Hier ist der relevante Teil für die Bequemlichkeit:
Diese Lösung behebt den Fehler, der durch den Versuch verursacht wurde, npm update npm -g
auszuführen. Wenn Sie fertig sind, müssen Sie auch nicht Sudo
verwenden, um npm-Module global zu installieren.
Notieren Sie sich vor dem Start alle global installierten npm-Pakete. Mit diesen Anweisungen werden Sie alle diese Pakete entfernen. Wenn Sie fertig sind, müssen Sie sie erneut installieren.
Führen Sie die folgenden Befehle aus, um alle vorhandenen globalen npm-Module zu entfernen, den Knoten & npm zu deinstallieren, den Knoten mit den korrekten Standardwerten erneut zu installieren, den Speicherort für die zu installierenden globalen npm-Module zu konfigurieren und anschließend npm als eigenes Paket zu installieren.
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
Node und npm sollten zu diesem Zeitpunkt korrekt installiert sein. Der letzte Schritt ist das Hinzufügen von ~/.npm-packages/bin
zu Ihrer PATH
, so dass die Pakete npm und global npm verwendbar sind. Fügen Sie dazu Ihrem ~/.bash_profile
die folgende Zeile hinzu:
export PATH="$HOME/.npm-packages/bin:$PATH"
Jetzt können Sie alle globalen npm-Pakete, die Sie benötigen, problemlos erneut installieren.
Zunächst müssen Sie den Knoten: (mac) nach der Installation der neuen Knotenversion deaktivieren.
nvm deactivate
Dies wird /Users/Benutzername/.nvm/*/bin von $ PATH entfernt
Und nachdem dieser Knoten aktualisiert wurde
node --version
v10.9.0
Wenn Sie nvm bereits installiert haben, führen Sie die folgenden Befehle aus
nvm deactivate
- Dadurch wird /.nvm/*/bin aus $ PATH entferntnvm list
- Um alle Versionen des im System installierten Knotens aufzulistennvm uninstall <version>
in können Sie alle Versionen angeben, die Sie deinstallieren möchten.Es ist immer gut, dass Sie den Knoten mit nvm
installieren und mit nvm
anstatt mit brew
deinstallieren.
Diese Lösung hat bei mir funktioniert.
Zusätzliche Befehle
which node
, um den Pfad des in Ihrem System installierten Knotens zu kennen. In diesem Verzeichnis können Sie den Knoten manuell deinstallieren. In diesem Fall müssen Sie möglicherweise die PATH-Datei entsprechend anpassen.Wenn Sie den Knoten nicht finden können, führen Sie einfach whereis node
und whereis npm
und whereis nvm
aus, und Sie können die aufgelisteten Verzeichnisse nach Bedarf entfernen.
Sie müssen Ihr Terminal auch vollständig schließen und erneut öffnen, damit die Änderungen wirksam werden.