Ich versuche, node.js über Homebrew zu installieren. Leider bekomme ich diesen Fehler:
➜ ~ brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds
Also versuche ich dann, den Knoten manuell zu verknüpfen ...
➜ ~ brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
brew link -f formula_name
To list all files that would be deleted:
brew link -n formula_name
Kein Glück, also versuche ich, den Knoten zwangsweise zu verknüpfen ...
➜ ~ brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/dtrace/node.d
Ich bin in keiner Hinsicht mit dtrace vertraut und habe Angst, mich mit Berechtigungen herumzuschlagen, also habe ich versucht zu sudo ..
➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
Ich habe versucht, Node über zu deinstallieren brew uninstall node
und die Installation ohne Glück erneut zu versuchen.
Antworten:
Das Homebrew-Paket für node.js enthält jetzt wieder npm. Dies ist mir passiert, als ich die Meldung des Homebrew-Pakets über das Entfernen der Standalone-Version zuerst verpasst habe.
Angenommen, Sie haben wie ich bereits Node / Npm beschädigt, indem Sie das Upgrade versucht haben, bevor Sie zuerst wissen
npm uninstall npm -g
, dass Sie es könnenrm -rf /usr/local/lib/node_modules/npm
und dannbrew link node
. Dies entfernt die eigenständige selbst gehostete npm-Paket entfernt (anstatt dasjenige, das Brew installieren möchte), und Brew kann das mitgelieferte Paket aus Cellar mit Symlink verknüpfen.quelle
Ich verwende Mac OS X Mavericks. Ich habe versucht, den Knoten 0.10.25 zu installieren, und die Top-Antwort hat bei mir nicht funktioniert.
natevw sagt dazu
rm -rf /usr/local/lib/node_modules/npm
aber wenn die berechtigungen auf so/usr/local/lib/node_modules
aussehen:Dann kann Brew seinen npm-Symlink in diesem Verzeichnis nicht erstellen. Hier ist meine Lösung:
Schritt 1: Aktualisieren Sie Homebrew
Schritt 2: Entfernen Sie den Knoten / npm überall auf Ihrem System
Einige dieser Befehle sind nicht erforderlich, je nachdem, wie Sie node / npm in der Vergangenheit installiert haben.
Hinweis: Ich hatte streunende Knotendateien, die ich beim Ausführen gefunden habe
brew -v link node
(was mir die ausführliche Ausgabe der Verknüpfungsfehler gab, über die sich Brew beschwert hat). Möglicherweise müssen Sie:Schritt 3: Öffnen Sie ein neues Terminal und installieren Sie den Knoten
quelle
whoami
/ usr / lokale Soßewürde gut tun, wie in der Fehlerbehebung auf der Braustelle erwähnt
https://github.com/Homebrew/homebrew/wiki/troubleshooter
quelle
sudo chmod -R g+w /usr/local
(obwohl ehrlich gesagt, beide erschrecken mich)chgrp
Befehl erforderlich wäre .brew doctor
, aber ich bevorzugesudo su
, die Befehle auszuführen und dann das Terminal zu schließenSie haben wahrscheinlich bereits eine ältere Version von node.js mit einer anderen Methode installiert, daher müssen Sie die Dateien, die Brew im Weg stehen, manuell entfernen.
Sie
brew link -n node
und manuell diese widersprüchlichen Dateien und Verzeichnisse löschen, dann versuchen Sie esbrew link node
erneut.quelle
aspell
. Wie finde ich die widersprüchlichen Dateien und Verzeichnisse?Ich bin etwas spät dran. Was für mich funktioniert hat, war Folgendes:
Nach dieser Sequenz war alles erfolgreich
quelle
sudo chmod 777
Dies ist niemals die richtige Lösung. Wenn Sie Berechtigungsprobleme haben, untersuchen Sie, warum diese auftreten, und legen Sie die Mindestberechtigungsstufe fest, die für die Ausführung des Auftrags erforderlich ist. Mit diesem Befehl kann die Datei von jedem im System geändert werden.brew link node
zum ersten Mal keine Dauerwellenprobleme hatte.Versuche dies. Habe von einer anderen Referenz bekommen und für mich gearbeitet.
quelle
brew postinstall node
war das Ticketbrew link --overwrite node
und dem letzten Befehl scheint alles zu funktionieren. Der letzte Befehl, den Sie vorgeschlagen haben, funktioniert wegen 'sudo nicht. Verwenden Sie stattdessenbrew postinstall node
Ich hatte das gleiche Problem, nachdem ich alle meine Anwendungen von meinem alten Mac auf meinen neuen übertragen hatte.
Ich habe die Lösung gefunden, indem ich ausgeführt habe
brew doctor
:Nach dem Laufen
brew prune
ist Homebrew endlich wieder auf dem richtigen Weg :)quelle
Mein Problem hatte eine etwas andere Lösung. Das Verzeichnis, in dem Brew die Symlinks erstellen wollte, gehörte nicht dem aktuellen Benutzer.
ls -la /usr/local/bin/lib/node | grep node
ergab:Für mich hat das folgende Problem behoben:
ps.
$(users)
wird auf deinen Benutzernamen erweitert, hat sich ein wenig Mühe gegeben, faulen Kopierpastern zu helfen;)quelle
Danke @suweller.
Ich habe das Problem behoben:
Ich hatte das gleiche Problem wie Suweller:
Also habe ich dieses Problem behoben durch:
Nachdem ich dieses Problem behoben hatte, bekam ich ein anderes:
Also entfernte ich node.d durch:
habe einen weiteren Berechtigungsfehler erhalten:
und behoben:
und schließlich hat alles geklappt:
quelle
Die meisten Probleme bei der Brew-Installation mit dem Knoten werden durch Berechtigungsfehler oder durch die vorherige Installation des Knotens und den Versuch, ihn über Brew zu installieren, verursacht. Die Lösung, die für mich endlich funktionierte, war:
WARNUNG: Dadurch werden NodeJS (mehrere Versionen) mit Vorsicht deinstalliert:
Knoten über Brew entfernen:
Brew Deinstallationsknoten
auch mit Gewalt:
Brew Deinstallationsknoten --force
So verwenden Sie das Skript Quelle: Knoten entfernen :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Dann:
Dann:
Stellen Sie dann sicher, dass Sie den folgenden Befehl ausführen:
chown $ USER / usr / local
Führen Sie dann ein Brau-Update durch (machen Sie so lange weiter, bis alle Dinge aktualisiert sind):
Gebräu-Update
Bereinigen Sie das Gebräu und führen Sie das Update erneut aus (möglicherweise redundant) und führen Sie den Arzt aus, um sicherzustellen, dass die Dinge in Ordnung sind:
Aufräumen brauen; Gebräu-Update; Brau Doktor
Und schließlich installieren Sie den Knoten über Brew (ausführlich):
Brew install -v Knoten
quelle
Die ultimative Antwort: Ändern Sie den Eigentümer dieses Verzeichnisses in den, der Sie sind
Dies wird auch von Brew empfohlen, wenn Sie einen Brew Doctor ausführen
quelle
Während der Installation wurde eine Fehlermeldung angezeigt, dass die Verknüpfung von Knoten und / usr / local / include nicht beschreibbar ist
Die folgende Lösung hat bei mir funktioniert: - Erstellen Sie zuerst den Include-Ordner. Beachten Sie, dass hierfür Sudo-Berechtigungen erforderlich sind
quelle
Ich habe es auch geschafft, mein NPM durcheinander zu bringen und Pakete zwischen diesen Homebrew-Versionen zu installieren, und egal wie oft ich den Knoten gelöst / verlinkt und deinstalliert / installiert habe, es hat immer noch nicht funktioniert.
Wie sich herausstellt, müssen Sie NPM aus dem Pfad entfernen, da Homebrew es sonst nicht installiert: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117
Hoffe, dies hilft jemandem mit dem gleichen Problem und spart ungefähr die Stunde, die ich damit verbringen musste, nach dem Problem zu suchen ...
quelle
Löschen Sie diese Datei im Finder:
im Terminal:
dann:
quelle
brew link --overwrite --dry-run node
, sehe ich den FehlerNo such keg: /usr/local/Cellar/node
. Was vermisse ich?Ich habe alle Methoden ausprobiert und keine davon funktioniert. Am einfachsten ist es, den Knoten von https://nodejs.org/en/download/ neu zu installieren.
Einfach herunterladen
pkg
und installieren. Jetzt habe ich eine Arbeitnpm
undnode
wieder.quelle
Ich weiß nicht, ob es eine gute Idee ist oder nicht: Nachdem ich alle anderen Lösungen ohne Erfolg ausprobiert hatte, habe ich einfach / usr / local / lib / dtrace umbenannt, den Knoten verknüpft und das Verzeichnis erneut umbenannt. Danach funktionierte der Knoten wie erwartet.
quelle
Ich hatte eine Weile damit zu kämpfen. (für mich hat "npm uninstall npm -g" nichts getan)
Ich habe ein paar Dinge ausprobiert:
Ich hatte immer noch einige Probleme und bekam Fehler, als ich versuchte, die Knotendateien zu verknüpfen
Endlich habe ich es versucht
Das schien es behoben zu haben. (Es überschreibt alle in Konflikt stehenden Dateien und verknüpft auch Node und Npm.)
Hoffe das hilft
quelle
Ich habe Brew vollständig deinstalliert und erneut gestartet, nur um das gleiche Problem erneut zu finden.
Brew scheint zu funktionieren, indem die erforderlichen Binärdateien mit Ihrem System verknüpft werden, wobei andere Installationsmethoden normalerweise die Dateien kopieren.
Ich habe hier einen vorhandenen Satz von Knotenbibliotheken gefunden:
/usr/local/include/node
Nach einigem Kopfkratzen erinnerte ich mich daran, dass ich den Knoten zum Zeitpunkt dieser alten Version installiert hatte und es nicht über Brew war.
Ich habe diesen gesamten Ordner manuell gelöscht und npm erfolgreich verknüpft.
Dies würde erklären, warum die Verwendung von Brew Deinstallation oder sogar Deinstallation von Brew selbst keine Auswirkungen hatte.
Die Antwort mit dem höchsten Rang drückt dies sehr einfach aus, aber ich dachte, ich würde meine Beobachtungen darüber hinzufügen, warum es notwendig ist.
Ich vermute, dass eine Reihe von Problemen mit anderen Brühpaketen durch alte, nicht gebraute Instanzen von Paketen verursacht werden könnten.
quelle
Hatte meinen Kopf am Symlinking-Knoten zerstört ... und nichts schien zu funktionieren ... aber schließlich funktionierte es, die richtigen Berechtigungen festzulegen. Dieser 'sudo chown -R $ (whoami) / usr / local' hat die Arbeit für mich erledigt.
quelle
Ich habe dies in El Capitan mit dem folgenden Befehl behoben. Ehrlich gesagt, keine Ahnung, was es tut, aber ich dachte, ich würde teilen, da es mein Problem behoben hat.
quelle
Sie müssen das npm-Paket manuell entfernen.
erster Verknüpfungsknoten:
brew link -n node
npm-Ordner entfernen:
rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm
wieder verlinken:
brew link node
Es wird einen weichen Link zum neuen Standort von npm geben
quelle