2015-09-29 4 views
26

So machte ich den Fehler zu versuchen, alle sudo Abhängigkeiten loszuwerden. Ich habe npm als Paket von der Site heruntergeladen und eine manuelle/globale Installation durchgeführt. Aber es schien so, als ob ich immer mit Sudo rennen müsste ... also habe ich versucht zu deinstallieren und mit Homebrew zu laufen.Homebrew npm installieren: konnte nicht symlink

Jetzt kann ich nicht Knoten oder npm bekommen sogar zu laufen ... Ich denke, ich habe mit brauen verknüpfen sie verbinden, aber ich bin immer diese Fehlermeldung:

Could not symlink share/doc/node/gdbinit 
Target /usr/local/share/doc/node/gdbinit 
already exists. You may want to remove it: 
    rm '/usr/local/share/doc/node/gdbinit' 

Ich habe versucht zu entfernen, dass : Und ich habe die Erlaubnis verweigert.

Ich habe versucht, brauen Pflaume zu laufen. Ich habe versucht, installieren Sie diese Schritte deinstallieren:

$ brew uninstall npm 
$ brew uninstall node 
$ npm uninstall npm -g 
$ sudo rm -rf /usr/local/lib/node_module 

Error: The 'brew link' step did not complete successfully

I Yosemite 10.10.5 leite. Ich habe git Version 2.6.0 installiert. Mein Homebrew wird aktualisiert. Ein brauen Doktor gibt mir diese Warnung:

Warning: You have unlinked kegs in your Cellar 
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on 
those kegs to fail to run properly once built. Run `brew link` on these: 
    node 

Nicht sicher, wohin man von hier geht. Ich versuche, meine Abhängigkeit von CodeKit zu verlieren und mich aufzumuntern.

+0

'Ich habe versucht, dass das Entfernen: Und ich habe die Erlaubnis bekommen denied.' - Das ist, weil Sie installierst als Wurzel an erster Stelle. Jetzt müssen Sie mit 'sudo rm '/ usr/local/share/doc/node/gdbinit'' entfernen. Hinweis: Wenn Sie Homebrew verwenden, installieren Sie nichts mehr mit 'sudo install' in/usr/local. Dies wird eine große Unordnung schaffen. – cel

+0

Jetzt bekomme ich 'konnte nicht Symlink teilen/system/systemtap/tapset/node.stp/usr/local/share/system/tapset ist nicht beschreibbar. Ich habe versucht, ein sudo chown -R 'username'/usr/local/share/system/tapset zu tun, aber das hat nicht funktioniert. – pwhitt

+0

Ich würde einfach alle kollidierenden Dateien löschen. Es ist etwas eigenartig, aber deshalb haben wir tolle Paketmanager wie Homebrew. Manuelles Deinstallieren ist einfach viel zu schmerzhaft. – cel

Antwort

81

Es sieht aus wie mehrere Dateien und Verzeichnisse in /usr/local sind jetzt im Besitz von root, seit Sie ein paar Schritte mit sudo ausgeführt. Um loszuwerden, diese zurücknehmen Besitz aller Dateien und Verzeichnisse unter /usr/local:

sudo chown -R $USER /usr/local 

Sobald dies geschehen ist, führt brew doctor wieder.

ähnliche Fragen sind hier zu finden:

+1

Du hast meinen Tag gemacht. Ich habe versucht, dies für eine Weile zu beheben, bis zu dieser Antwort –

+0

Ist es in Ordnung, das/usr/local-Verzeichnis zu chown, wenn es mehr als einen Benutzer gibt? – Omtara

+0

Gute Frage. Die neueste Version von Homebrew erfordert nicht mehr das "Chown", was ich verstehe. Wenn Sie noch "chown" müssen, stellen Sie sicher, dass alle Benutzer in der Gruppe enthalten sind, die das Verzeichnis besitzt, und dass die Gruppe auch Schreibrechte hat. – nwinkler