Wie deinstalliere ich Node.js vollständig und installiere es von Anfang an neu (Mac OS X)


1291

Meine Version von Node ist immer v0.6.1-pre, auch nachdem ich Brew Node und NVM v0.6.19 installiert habe.

Meine Knotenversion ist:

node -v
v0.6.1-pre

NVM sagt dies (nachdem ich eine Version des Knotens zum ersten Mal 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, BREW zu verwenden, um vor NVM mit brew updateund zu aktualisieren brew install node. Ich habe versucht, das Verzeichnis "node" in meinem /usr/local/includeund das Verzeichnis "node" und "node_modules" in meinem zu löschen /usr/local/lib. Ich habe versucht, npm zu deinstallieren und gemäß diesen Anweisungen neu zu installieren .

All dies, weil ich versucht habe, eine ältere Version des Knotens zu aktualisieren, um die "zipstream" -Bibliothek zu installieren. Jetzt befinden sich Ordner in meinem Benutzerverzeichnis, und die Knotenversion STILL ist nicht auf dem neuesten Stand, obwohl NVM angibt, dass sie 0.6.19 verwendet.

Im Idealfall möchte ich nodejs, npm und nvm deinstallieren und das Ganze einfach von Grund auf auf meinem System neu installieren.



/ usr / bin / node ist ein anderer ...
Aaron Blenkush

1
Dies kann für jeden hilfreich sein, der den Knoten über eine pkg-Datei installiert hat. superuser.com/questions/36567/…
karthikeayan

Mac 10.13.5 hat / Users / myusername / node_modules Soll ich diesen Ordner auch löschen? Ich habe in diesem Thread gesucht, aber anscheinend war niemand mit diesem Problem konfrontiert
Vikramvi

@ Pacerier auch nach Befolgung der Anweisungen in gist, noch Knoten und npm existiert unter Mac OS 10.13.5
Vikramvi

Antworten:


1699

Anscheinend gab es einen /Users/myusername/localOrdner, der ein includemit nodeund libmit nodeund enthielt node_modules. Wie und warum dies statt in meinem /usr/localOrdner 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, werde ich diese als richtige Antwort wählen.

BEARBEITEN:

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) kaputt ...

Um Knoten + npm vollständig zu deinstallieren, gehen Sie wie folgt vor:

  1. Gehen Sie zu / usr / local / lib und löschen Sie alle Knoten und Knotenmodule
  2. gehen Sie zu / usr / local / include und löschen Sie alle Knoten und node_modules Verzeichnis
  3. Wenn Sie mit dem Brew-Installationsknoten installiert haben , führen Sie den Brew-Deinstallationsknoten in Ihrem Terminal aus
  4. Überprüfen Sie Ihr Home-Verzeichnis auf lokale oder lib- oder Include- Ordner und löschen Sie alle Knoten oder Knotenmodule von dort
  5. Gehen Sie zu / usr / local / bin und löschen Sie alle ausführbaren Knoten

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

Zusätzlich ändert NVM die PATH-Variable in $HOME/.bashrc, die manuell zurückgesetzt werden muss .

Laden Sie dann nvm herunter und befolgen Sie die Anweisungen zum Installieren des Knotens. Ich glaube, die neuesten Versionen von Node werden mit npm geliefert, aber Sie können das auch neu installieren.


82
Ich musste auch rm -rf /Users/[homedir]/.npm.
gebrochener Indexfinger

17
Auch benötigt, um zu entfernen/Users/[homedir]/.nvm
n0pe

42
Ich bin auch gelaufen brew doctorund habe dann brew pruneein paar kaputte Symlinks für NPM aufgeräumt.
Chris Jacob

54
Ich habe ein Skript zusammengestellt, das ich jetzt im Kampf getestet habe. Danke @DominicTancredi das funktioniert super! gist.github.com/brock/5b1b70590e1171c4ab54
brock

13
Ich musste auch hinzufügen : sudo rm -rf ~/.node-gyp. Ich hatte es mit MacPorts hinzugefügt, bevor ich zum Brauen wechselte.
JESii

519

Für Benutzer von Brauen ist OSX :

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 nodeweitere Details zu Ihren Knoteninstallationen ausführen.


Verwenden Sie NVM anstelle von Brew

NVM (Node Version Manager) ist eine tragbare Lösung zum Verwalten mehrerer Knotenversionen

https://github.com/nvm-sh/nvm

> 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

Mit AVN können Sie die Version automatisch wechseln, wenn Sie zwischen verschiedenen Projekten mit unterschiedlichen Knotenabhängigkeiten wechseln.


2
Wie stelle ich env vars so ein, dass node und npm nach einer solchen Installation verfügbar sind?
Maxim V. Pavlov

13
Möglicherweise müssen Sie --force$ brew uninstall --force node
Brew

-bash: /usr/local/bin/npm: No such file or directoryWas kann ich jetzt machen?
ValRob

5
> "NVM anstelle von Brew verwenden"; Ironischerweise können Sie NVM mit Brew installieren !; Toller Tipp, danke.
HankCa

2
Die Verwendung von NVM hat geholfen.
Coderpc

186

Ich weiß, dass dieser Beitrag etwas veraltet ist, wollte aber nur die Befehle teilen, die beim Entfernen von Node.js in Terminal für mich funktioniert haben.

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.*

AKTUALISIEREN: 23 SEP 2016


Wenn Sie Angst haben, diese Befehle auszuführen ...

Danke jguixfü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 (in Ihrem HomeOrdner)

 ~/filelist.txt

Dann löschen Sie 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.*

Für 10.10.5 und höher

Vielen Dank Lenar Hoyt

Hauptkommentar Quelle: gistcomment-1572198

Ursprünglicher Kern: 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.*

15
Whoa-- das ist erschreckend. Zumindest ist das erste "rm" kein "rm -rf", das, wenn es eine leere Zeile auf der Außenseite von sbom gibt, alles von / usr / local entfernen würde. Bevor Sie etwas so schwerfälliges tun, überprüfen Sie die sbom-Ausgabe und woher all diese Verzeichnisse stammen, und stellen Sie sicher, dass Sie genau wissen, was Sie entfernen.
Don Hatch

16
Ich sollte hinzufügen ... Wenn Sie einen gesunden Selbsterhaltungstrieb haben, sollte es für Sie äußerst schwierig sein, diesen zweiten Befehl, der überhaupt mit "sudo rm -rf /" beginnt, einzugeben oder zu kopieren und einzufügen. Ein Niesen oder die Katze springt auf Ihre Tastatur und Sie haben Ihr Dateisystem zerstört.
Don Hatch

2
Es ist org.nodejs.node.pkg.bomstatt org.nodejs.pkg.bom.
Lenar Hoyt

1
@DonHatch kopiert die Zeile ohne den ersten Buchstaben, sodass sie mit beginnt udo..und svor dem Ausführen vorangestellt wird .
Youurayy

1
Der Befehl lsbom gibt relative Pfade aus, sodass das Skript versucht hat, Pfade zu löschen, die so aussahen /usr/local/./node/yada. Um das ./Präfix zu entfernen, habe ich den Schnittfilter verwendet: lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | cut -c 3- | while read f; do sudo rm /usr/local/${f}; done
Timiscoding

142

Auf Mavericks installiere ich es vom Node-Paket (von der NodeJS-Site) und deinstalliere es, damit ich es mit Brew neu installieren kann. Ich führe nur 4 Befehle im Terminal aus:

  1. sudo rm -rf /usr/local/lib/node_modules/npm/
  2. brew uninstall node
  3. brew doctor
  4. brew cleanup --prune-prefix

Wenn noch eine Knoteninstallation vorhanden ist, wiederholen Sie Schritt 2. Nachdem alles in Ordnung ist, installiere ich mit brew install node


50
1 hat funktioniert, aber 2 schlägt fehl. Ich bekomme "kein solches Fass: usr / local / Cellar / node"
PositiveGuy

Ja, dies ist das Beste, wenn Sie Mavericks
Dicer

1
Ich habe es versucht, aber wieder den gleichen Fehler erhalten Fehler: Der brew linkSchritt wurde nicht erfolgreich abgeschlossen
Chandni

Danke, perfekt, außer dass ich --force zum Brauen deinstallieren musste
Medhi

1
Zu Ihrer Information: Zum ->brew prune Error: Calling 'brew prune' is disabled! Use 'brew cleanup --prune-prefix' instead.
Mike S.

33
  1. 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.*
  2. Zusammenfassend lässt sich sagen, dass der beste Weg (wie ich gefunden habe), Knoten + npm vollständig zu deinstallieren, darin besteht, Folgendes zu tun:

    Gehen Sie zu /usr/local/libund löschen Sie alle Knoten und Knotenmodule

    cd /usr/local/lib
    
    sudo rm -rf node*
  3. Gehen Sie zu einem /usr/local/includebeliebigen Knoten- und Knotenmodulverzeichnis und löschen Sie es

    cd /usr/local/include
    
    sudo rm -rf node*
  4. Wenn Sie mit installiert haben brew install node, führen Sie es brew uninstall nodein Ihrem Terminal aus

    brew uninstall node
  5. Überprüfen Sie Ihr Home-Verzeichnis auf "lokale" oder "lib" oder "include" Ordner und löschen Sie alle "node" oder "node_modules" von dort

    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
  6. 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


7
Das Entfernen node*ist keine besonders sichere Vorgehensweise. Möglicherweise gibt es andere Binärdateien mit diesem Präfix.
Lenar Hoyt

2
Großartig, endlich nach 3 Tagen, als es hin und wieder Probleme mit npm gab, die komplett entfernt und mit Brew auf meinem Mac neu installiert wurden, funktioniert wie ein Zauber.
Amit Bravo

Wenn gefeuert erster Befehl bekommen can't open /var/db/receipts/org.nodejs.pkg.bom: No such file or directory **** Can't open /var/db/receipts/org.nodejs.pkg.bom.Bitte helfen Sie
Ahtesham Shah

Selbst nachdem ich diese Schritte auf Mac 10.13.5 ausgeführt hatte, konnte ich immer noch npm und node sehen, was möglicherweise falsch läuft.
Vikramvi

25

Downgrade-Knoten auf 0.10.36

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n 0.10.36

Upgrade-Knoten auf stabil v

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n stable

Ich habe das gerade gemacht und seltsamerweise hat es npm von 6.4.1 auf 6.2.0 herabgestuft.
Capn Sparrow

22

Ich bin mir nicht sicher, ob es daran liegt, dass ich eine alte Version (4.4.5) hatte 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 zu behalten, ~/.npmweil ich vorhatte, Node mit Homebrew neu zu installieren.


Diese Antwort wurde im Jahr 2012 gegeben, daher bin ich mir sicher, dass sie ein Vermächtnis hat. Wenn nun neue Antworten angezeigt werden, stimme ich ihnen zu, nachdem ich überprüft habe, ob sie wirksam sind.
Dominic Tancredi

15

Ich habe die vorhandenen Antworten zusammengefasst und sichergestellt, dass Node js zusammen mit NPM VOLLSTÄNDIG GELÖSCHT ist .

  1. brew uninstall node
  2. which node
  3. sudo rm -rf /usr/local/bin/node
  4. sudo rm -rf /usr/local/lib/node_modules/npm/
  5. brew doctor
  6. brew cleanup --prune-prefix

Zu kopierende Zeilen zum Terminal:

brew uninstall node;
which node;
sudo rm -rf /usr/local/bin/node;
sudo rm -rf /usr/local/lib/node_modules/npm/;
brew doctor;
brew cleanup --prune-prefix;

Ich habe diese Schritte befolgt und es scheint funktioniert zu haben. Ich habe immer noch Verzeichnisse in meinem Stammordner wie .node-gyp/, .npm/, .npm-global/, und .nvm/. Kann ich diese löschen oder sollte ich sie behalten, wenn ich vorhabe, den Knoten neu zu installieren?
WaterTrash

10
  • Löschen Sie den Knoten und / oder die Knotenmodule aus / usr / local / lib

          ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
  • Löschen Sie den Knoten und / oder die Knotenmodule aus / usr / local / include

  • Löschen Sie Node, Node-Debug und Node-Gyp aus / usr / local / bin
  • Löschen Sie .npmrc aus Ihrem Home-Verzeichnis (dies sind Ihre npm-Einstellungen. Löschen Sie diese nicht, wenn Sie Node sofort neu installieren möchten.)
  • Löschen Sie .npm aus Ihrem Home-Verzeichnis
  • Löschen Sie .node-gyp aus Ihrem Home-Verzeichnis
  • Löschen Sie .node_repl_history aus Ihrem Home-Verzeichnis
  • Löschen Sie den Knoten * aus / usr / local / share / man / man1 /
  • Löschen Sie npm * aus / usr / local / share / man / man1 /
  • Löschen Sie node.d aus / usr / local / lib / dtrace /
  • Löschen Sie den Knoten aus / usr / local / opt / local / bin /
  • Löschen Sie den Knoten aus / usr / local / opt / local / include /
  • Löschen Sie node_modules aus / usr / local / opt / local / lib /
  • Löschen Sie den Knoten aus / usr / local / share / doc /
  • Löschen Sie node.stp aus / usr / local / share / systemtap / tapset /

Ich musste auch node@6aus/usr/local/opt/
Echo


8

Nach

brew uninstall node

Ich musste wissen, welcher Knoten

which node

dann entferne das

rm -rf /usr/local/bin/node

7

Wenn Sie nvm bereits installiert haben, führen Sie die folgenden Befehle aus

  • nvm deactivate - Dadurch wird /.nvm/*/bin aus $ PATH entfernt
  • nvm list - Zum Auflisten aller im System installierten Versionen des Knotens
  • nvm uninstall <version> In können Sie alle Versionen angeben, die Sie deinstallieren möchten.

Es ist immer eine gute , dass Sie installieren Knoten verwenden nvmund deinstallieren nvm statt brew.

Diese Lösung hat bei mir funktioniert.

Zusätzliche Befehle

  • which nodeum den Pfad des in Ihrem System installierten Knotens zu kennen. Sie können dieses Verzeichnis verwenden, um den Knoten manuell zu deinstallieren. Dann müssen Sie möglicherweise die PATH-Datei entsprechend anpassen.

6

Aufbauend auf Dominic Tancredi ehrfürchtige Antwort habe ich rolle diese in ein Bash - Paket und Stand-alone - Skript. Wenn Sie bereits den "Back Package Manager" namens bpkg verwenden , können Sie das Skript installieren, indem Sie Folgendes ausführen :

bpkg install -g brock/node-reinstall

Oder Sie können sich das Skript auf Github unter brock / node-reinstall ansehen . Mit dem Skript können Sie den Knoten mit nvm oder nave neu installieren und eine Knotenversion als Standard angeben.


1
Ich wollte dies posten und sehen, dass der Autor selbst die bestmögliche Antwort auf das Problem gepostet hat: Verwenden Sie Node-Reinstall einmal und Sie werden nie zurückblicken. Habe mich auf den Weg gemacht und bin bereit für mehr Entwicklung! Prost auf dieses @brockangelo!
Wallace Sidhrée

3
Warnung ..... das node-reinstallSkript enthält folgende Zeile: sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} Wenn Sie also $HOME(wie ich) unabhängig voneinander ein Verzeichnis mit diesem Namen in Ihrem haben, wird es überfüllt sein!
Terrycojones

6

Zusätzlich zur Hauptantwort musste ich alle npm-Instanzen entfernen, die in gefunden wurden:

rm -rf /usr/local/share/man/man1/npm*

1
Dies sollte ein Kommentar zur entsprechenden Antwort sein, keine neue Antwort.
Edward Anderson

5

Ich bin bei der Deinstallation von Node.js auf meinem Mac von einem Problem betroffen. Ich hatte ein seltsames Verhalten, wie npmes immer noch ist, selbst nachdem ich es mit all dem entfernt hatte.

Es war, weil ich eine alte Installation mit Macport hatte. Sie müssen es also auch über den Port deinstallieren:

sudo port uninstall nodejs

Möglicherweise wurden viele verschiedene Versionen von Node.js installiert. Deinstallieren Sie sie daher alle (nacheinander).


1
Genau das ist mir passiert :-) Danke für deine Nachtragsantwort. Nun, ich hatte mehrere Versionen von Cordova und eine npm konnte die eine Cordova nicht entfernen und umgekehrt.
Peter_the_oak

5

Vielleicht musst du machen

hash -r 

Es hilft bei Symlink-Problemen

$ node -v
$ bash: /opt/local/bin/node: No such file or directory


4

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 möglicherweise die vorherige Version und legt die Umgebungsvariablen entsprechend fest. Führen Sie einfach das Installationsprogramm aus und fertig mit wenigen Klicks.


3

Ich hatte Node.js von der Quelle installiert, die aus dem 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

Wie läuft es parallel? sagen, ich möchte 2 Versionen ausführen?

3

Als Ergänzung zu den Antworten, die das Bereinigen und Installieren über Homebrew erläutern, stellte ich fest, dass Homebrew selbst klare Hinweise auf die Symlink-Konflikte lieferte.

Leider stellt es diese einzeln zur Verfügung, wenn es auf sie trifft, so dass es ein wenig mühsam ist, aber es scheint alle Zusammenstöße zu finden und war der einzige Weg, eine saubere Installation mit Homebrew zu bekommen.

Im Wesentlichen ist der Prozess:

  1. Verwenden Sie Homebrew, um den Knoten zu deinstallieren
  2. sauberes Homebrew
  3. Verwenden Sie Homebrew, um den Knoten zu installieren und alle markierten Kollisionsdateien zu notieren
  4. Löschen Sie die Flag-Kollisionsdatei (oder das gesamte Verzeichnis, wenn es sich um ein 'Knoten'-Verzeichnis handelt).
  5. Fahren Sie mit Schritt 1 fort, bis Sie eine Neuinstallation erhalten

Diagrammatisch::

Hier ist eine Bildschirmausgabe der letzten Schritte meiner Installation - Sie können sehen, dass dies zu einer Neuinstallation führt (eventuell ...):

computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/share/systemtap/tapset/node.stp'
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d
already exists. You may want to remove it:
  rm '/usr/local/lib/dtrace/node.d'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/lib/dtrace/node.d'
computer1:DevResources user1$ 
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ node -v
v13.1.0

2

Zunächst müssen Sie nach der Installation der neuen Knotenversion den Knoten: (mac) deaktivieren.

nvm deactivate

Dies wird /Users/user_name/.nvm/*/bin aus $ PATH entfernt

Und nachdem dieser Knoten aktualisiert wurde

node --version
v10.9.0

1

Dies hat es für mich behoben. Npm unter Mac OS X für Homebrew-Benutzer beheben . Und es sind nicht zu viele Schritte erforderlich.

Gehen Sie einfach zum Lösungsteil, wenn Sie sich nicht für das Warum interessieren.

Hier ist der relevante Teil für die Bequemlichkeit:

Lösung

Diese Lösung behebt den Fehler, der durch den Versuch der Ausführung verursacht wird npm update npm -g. Sobald Sie fertig sind, müssen Sie sudonpm-Module nicht mehr global installieren.

Notieren Sie sich vor dem Start alle global installierten npm-Pakete. Mit diesen Anweisungen müssen Sie alle diese Pakete entfernen. Nachdem 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 richtigen Standardeinstellungen neu zu installieren, den Speicherort für die zu installierenden globalen npm-Module zu konfigurieren und dann 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

Knoten und npm sollten zu diesem Zeitpunkt korrekt installiert sein. Der letzte Schritt besteht darin ~/.npm-packages/bin, Ihre PATHnpm- und globalen npm-Pakete zu erweitern, damit sie verwendet werden können. Fügen Sie dazu folgende Zeile hinzu ~/.bash_profile:

export PATH="$HOME/.npm-packages/bin:$PATH"

Jetzt können Sie alle benötigten globalen npm-Pakete problemlos neu installieren.


4
Bei Nur-Link-Antworten wird vom Stapelüberlauf abgeraten.
Andrew Grimm

@ AndrewGrimm macht Sinn, ich habe den entsprechenden Teil kopiert.
pcatre

1
Nach dem Eingeben des folgenden Befehls wird die folgende Fehlermeldung angezeigt : curl -L npmjs.com/install.sh | sh .... npm ERR! Ein vollständiges Protokoll dieses Laufs finden Sie in: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_34_337Z-debug.log npm ERR! Code E404 npm ERR! 404 Nicht gefunden: 1.535s@latest npm ERR! Ein vollständiges Protokoll dieses Laufs finden Sie in: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_36_399Z-debug.log Es ist fehlgeschlagen
Shoaib Ahmed

1

In meinem Fall hat keine der anderen Antworten funktioniert, da ich zuvor auf Node8 heruntergestuft habe. Anstatt oben zu tun, hat Folgendes für mich funktioniert:

which node

die /usr/local/bin/node@8statt zurückgegeben/usr/local/bin/node

Also habe ich diesen Befehl ausgeführt:

brew uninstall node@8

das hat funktioniert und dann das neueste pkg von der offiziellen seite heruntergeladen und installiert. Danach musste ich mein Terminal schließen und erneut starten, um auf die neue Version zuzugreifen


1

Wenn Sie den Knoten nicht finden können, führen Sie einfach whereis nodeund whereis npmund aus, whereis nvmund 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.


1

Docker - alternativer Ansatz

Docker ist eine Art superschnelle virtuelle Maschine, mit der Tools wie Node ausgeführt werden können (stattdessen direkt auf Mac-OS installiert werden). Die Vorteile dafür sind folgende

  • Alle Inhalte ('Millionen' Knotendateien) werden in Docker-Image / Container installiert (sie sind in wenigen Inner-Docker-Dateien gekapselt).

  • Sie können Ihr Mac-Verzeichnis mit Projekt Ihrem Docker-Container zuordnen und haben Zugriff auf den Knoten. Außerhalb des Dockers weiß das Mac-OS-System jedoch nicht einmal, dass der Knoten installiert ist. Sie erhalten also eine Art "virtuelle" Konsole mit verfügbaren Knotenbefehlen, die für reale Dateien verwendet werden kann

  • Sie können Knoten leicht töten, indem Sie ihn finden docker psund tötendocker rm -f name_or_num

  • Sie können Docker-Image / -Container einfach mit einem Befehl deinstallieren docker rmi ...und freien Speicherplatz erhalten - und ihn erneut installieren, indem Sie das Skript ausführen (siehe unten).

  • Ihr Knoten ist im Docker gekapselt und hat keinen Zugriff auf das gesamte System - nur auf Ordner, die Sie ihm zuordnen

  • Sie können Knotendienste ausführen und sie einfach dem Mac-Port zuordnen und über den Webbrowser darauf zugreifen

  • Sie können viele Knotenversionen gleichzeitig ausführen

  • Auf ähnliche Weise können Sie andere Tools wie (in vielen Versionen gleichzeitig) installieren: PHP, Datenbanken, Redis usw. - im Docker ohne Interaktion mit Mac-OS (die solche Software überhaupt nicht bemerken). ZB können Sie gleichzeitig 3 MySQL-DB mit verschiedenen Versionen und 3 PHP-Anwendung mit verschiedenen PHP-Versionen ausführen ... - so können Sie viele Tools haben, aber sauberes System

  • TEAMARBEIT: Eine solche Umgebung kann problemlos in andere Computer (und sogar in Windows- / Linux-Systeme - mit einigen Änderungen) geklont werden und bietet eine identische Docker-Umgebung. So können Sie Ihre Skripte / Docker-Dateien und die Setup-Umgebung für problemlos einrichten und wiederverwenden neues Teammitglied auf sehr schnelle Weise (er muss nur Docker installieren und eine ähnliche Ordnerstruktur erstellen und eine Kopie der Skripte erhalten - das ist alles). Ich arbeite 2 Jahre lang so und mit meinem Team - und wir sind sehr glücklich

Anweisung

  • Installieren Sie Docker anhand dieser Anweisungen

  • Bereiten Sie ein 'spezielles' Verzeichnis für die Arbeit vor, z. B. mein Verzeichnis ist /Users/kamil/work(ich werde dieses Verzeichnis weiter verwenden - es kann jedoch beliebig sein) - dieses Verzeichnis ist eine 'Schnittstelle' zwischen Docker-Containern und Ihrem Mac-Dateistamm. Erstellen Sie in diesem Verzeichnis die folgende Verzeichnisstruktur:

    /Users/kamil/work/code - Hier setzen Sie Ihre Projekte mit Code

    /Users/kamil/work/tools

    /Users/kamil/work/tools/docker-data - Hier ordnen wir Container-Ausgabedaten wie Protokolle (oder Datenbankdateien, wenn jemand Datenbank usw. verwendet) zu.

    /Users/kamil/work/tools/docker

    /Users/kamil/work/tools/docker/node-cmd - Hier setzen wir Docker-Node-Skripte

  • Innerhalb der toolsErstellungsdatei, .envdie an einer Stelle globale Pfade enthält, die in anderen Skripten verwendet werden

  • innside dir ../node-cmdDatei dockerfilemit folgendem Inhalt erstellen

  • innside dir ../node-cmdcreate file run-containermit folgendem Inhalt (diese Datei sollte zB von ausführbar sein chmod +x run-container) - (beachten Sie, wie wir Ports und Verzeichnisse aus der externen 'Welt' dem internen Docker-Dateisystem zuordnen)

  • ok jetzt kannst du ein Projekt work/code/myProjecthinzufügen, zB und es der folgenden Datei 'run-cmd' hinzufügen (muss ausführbar sein)

  • Wenn Sie dann das obige Skript ausführen (per Doppelklick), wird im Projektverzeichnis eine Konsole mit verfügbaren Knotenbefehlen angezeigt, z npm install

  • Um ein Projekt im Hintergrund auszuführen (z. B. einige Dienste), z. B. eine Web-Server-Angular-CLI-Anwendung run-frontauszuführen, können Sie das folgende Skript verwenden (mit dem Namen -muss ausführbar sein) - (Sie müssen auch die /etc/hostsDatei bearbeiten , um die richtige Domäne hinzuzufügen)


0

@ lfender6445 Antwort funktionierte gut für mich zu deinstallieren

Nach der Neuinstallation hatte ich Probleme bei der Installation der letzten Version anstelle der stabilsten. Um eine bestimmte Knotenversion zu installieren, sollten Sie Folgendes tun:

brew install node@10 // 10 is the version I want
brew link node@10

-7

(Server: Ubuntu 14)

1.) Installieren Sie nvm (Node Version Manager) https://github.com/creationix/nvm

2.) NVM-Installationsknoten

3.) npm -v (npm-Version anfragen => 3.8.6)

4.) Knoten -v (Knotenversion anfragen => v6.0.0)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.