2015-04-02 19 views
68

Hinweis: Ich bin nicht so gut in der Shell.Installiert, nur nicht verbunden

Ich habe versucht, Valgrind mit brew auf Yosemite zu installieren.

brew install --HEAD valgrind

Gegen Ende habe ich einen Fehler bekam mit dem zu tun hat, so verknüpfen, wenn ich wieder zu installieren versucht, ich habe:

Warning: valgrind-HEAD already installed, it's just not linked

So anscheinend habe ich es bereits installiert ist. Dann auf der Grundlage anderer SO Fragen und Antworten, habe ich versucht:

brew link valgrind

Dies schien Probleme anderer Leute zu lösen mit Anbindung eines bereits installierten Software, aber das gab mir eine Fehlermeldung:

Linking /usr/local/Cellar/valgrind/HEAD... 
Error: Could not symlink lib/pkgconfig/valgrind.pc 
/usr/local/lib/pkgconfig is not writable. 

ich auch versucht, brew zu aktualisieren, aber es hat das Problem nicht gelöst. Wenn es nicht beschreibbar ist, könnte mir vielleicht sudo Erlaubnis geben, aber ich möchte sudo nicht verwenden, ohne genau zu wissen, was ich tue.

Was passiert und wie kann ich es beheben?

Antwort

85

Sieht aus wie ein Berechtigungsproblem. Ich würde versuchen, diese

chmod 755 /usr/local/lib/pkgconfig 

tun Dies sollte das zur Verfügung stellen, dann

brew link valgrind 

versuchen Wenn das nicht funktioniert, würde ich auf sie

brew doctor 
+3

Ich benutze 'brew doctor', und nach den Anweisungen, dann zweimal 'chown', um das Problem zu lösen. – yanzi1225627

23

Erster Lauf einen Scheck versuchen zu tun

brew link <package> 

Wenn es gibt einen Fehler, versuchen für eine automatisierte Diagnose gibt

brew doctor 

brew doctor eine Liste der Probleme, die zu Fehlern bei der Installation werden führende könnte.

Um Probleme bei widersprüchlichen Dateien zu beheben, Lauf eine Liste aller Aktionen zu erhalten, die werden, ohne tatsächlich die Durchführung sie durch Überschreiben durchgeführt werden.

Um alle Dateien aufzulisten, die gelöscht werden würde:

brew link --overwrite --dry-run <package> 

von diesem Lauf gefolgt, die das Überschreiben ausgeführt wird, fühlen Sie sich unter der Annahme, dass die durch Überschreiben durchgeführten Aktionen Ihr System zu einem stabilen Zustand nehmen .

Um die Verknüpfung zu erzwingen und alle widersprüchlichen Dateien überschreiben:

brew link --overwrite <package> 
12

Wenn keine über die Lösung funktioniert, versuchen Sie dies.Hier

sudo chown -R $USER:admin /usr/local 
brew link <package-name> 
+1

Es hat funktioniert ... aber wie? – Pete

0

ist, was ich versucht und es funktionierte:

$ brew link --overwrite sdl 
Linking /usr/local/Cellar/sdl/1.2.15... 
Error: Could not symlink lib/pkgconfig/sdl.pc 
/usr/local/lib/pkgconfig is not writable. 

Sah für pkgconfig: (nach chmod 750)

drwxr-xr-x 4 root   wheel 136B Mar 30 2013 pkgconfig 

Ich versuchte chown wie folgt:

$ sudo chown -R avkashchauhan:admin /usr/local/lib/pkgconfig 

es wie wie folgt aussehen sollte:

drwxr-xr-x 4 avkashchauhan admin 136B Mar 30 2013 pkgconfig 

Nachdem ich es versucht:

$ brew link sdl                                                      
Linking /usr/local/Cellar/sdl/1.2.15... 182 symlinks created 
0

In meinem Fall Gebräu Arzt es richtig gemacht. Irgendwann wurde/usr/local/lib/pkgconfig als root statt meinem Konto festgelegt. Die vorgeschriebenen Heilmittel gearbeitet -

sudo chown -R $(whoami) /usr/local/lib/pkgconfig 
0

Typ

link valgrind

Es wird einen Fehler zeigt, dass es nicht verknüpft werden kann, weil so und so Verzeichnis nicht beschreibbar ist. Cool, wir machen es jetzt beschreibbar. Typ

sudo chmod a+w the/directory/shown/as/error

Wenn das Verzeichnis nicht beschreibbar ist, können Sie nicht in der Lage sein, seine Erlaubnis zu ändern und es entweder beschreibbar zu machen. Sudo wird diese Operation möglich machen. chmod wird den Modus ändern und alle (a) Benutzer in die Lage versetzen, (w) es zu schreiben.

Als nächstes werden Sie aufgefordert, das Passwort Ihres Systems einzugeben. Danach wird erneut ein

link valgrind

und es wird diese Zeit arbeiten.

0

habe ich ein ähnliches Problem,

$ brauen installieren SQLite Homebrew aktualisiert ... ==> Auto-Aktualisierung Homebrew! Aktualisiert 1 Hahn (Homebrew/Kern). Keine Änderungen an Formeln.

Warnung: sqlite-3.17.0 bereits installiert, es ist nur nicht verknüpft.

ich es zu verbinden versucht,

$ brauen Link SQLite Warnung: SQLite ist Keg-only und muss mit --force Hinweis verbunden werden, dass dies mit dem Aufbau Software stören können.

tun sie dann mit Gewalt,

$ brauen Link --force SQLite Linking /usr/local/Cellar/sqlite/3.17.0 ...8 Symlinks erstellt

1

ich gleiche Problem hatte und ich mit der nächsten Lösung aufgelöst: Run Gebräu Arzt vom Terminal alle

dann Fehler überprüfen nächsten Befehl ausführen:

sudo chown -R $USER:admin /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share 

nach Durchlauf:

brew link <package_name> 
Verwandte Themen