it-swarm.com.de

Brüharzt sagt: "Warnung:/usr/local/include ist nicht beschreibbar."

Brüharzt sagt: 

Warnung:/usr/local/include ist nicht beschreibbar. Dies kann passieren, wenn Sie die Software "Sudo make install" installieren, die nicht von Homebrew verwaltet wird.

Wenn ein Brew versucht, eine Header-Datei in dieses Verzeichnis zu schreiben, wird die Installation wird während des Verbindungsschrittes fehlschlagen.

Sie sollten wahrscheinlich chown/usr/local/include enthalten

Ich habe verschiedene Befehle ausprobiert, um das Problem zu lösen, aber ich bleibe immer noch hier.

Ich lasse am 10.8.2 Homebrew laufen

319
gaggina

Übernimm das Eigentum und alles daran.

Mac OS High Sierra oder neuer: (In den Kommentaren weiter unten zu Kirk)

$ Sudo chown -R $(whoami) $(brew --prefix)/*

Vorherige Versionen von Macos:

$ Sudo chown -R $USER:admin /usr/local/include

Dann mach noch einen

$ brew doctor
602
jrwren

Was für mich funktioniert hat, war auch

Sudo chmod g+w /usr/local
Sudo chgrp staff /usr/local
106
Durul Dalkanat

Was für mich funktioniert hat war 

$ Sudo chown -R yourname:admin /usr/local/bin
37
Ana Isabel

Der einzige, der bei El Capitan für mich gearbeitet hat, war:

Sudo chown -R $(whoami) /usr/local
35
Husky

Für High Sierra:

/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Dann probieren Sie Ihre Brew-Befehle.

Ausgabe # 3285

16
sayaMahi

Wenn Sie sich auf High Sierra befinden und dieses Problem auftritt, führen Sie die folgenden Schritte aus ( Hinweis:/usr/local kann nicht in High Sierra ausgewählt werden):

Sudo mkdir /usr/local/include
Sudo chown -R $(whoami) $(brew --prefix)/*

Versuchen Sie dann, die Verknüpfung mit dem Brew-Link herzustellen. Ich hatte ein ähnliches Problem und keine der oben genannten Lösungen funktionierte für High Sierra. Hoffe das hilft jemandem.

13
Pro

Sie können den Befehl zur Behebung dieses Problems in Ihrem .bash_profile als Aliasnamen angeben und jedes Mal ausführen, wenn Sie darauf stoßen:

Fügen Sie am Ende der Datei ~/.bash_profile Folgendes hinzu: 

alias fix_brew='Sudo chown -R $USER /usr/local/'

Und jetzt können Sie in Ihrem Terminal ausführen: 

$ fix_brew
12
karlingen

Das hat bei mir auf macOS 10.12 geklappt

Sudo chown -R $(whoami) /usr/local

Ich hatte das Problem beim Aktualisieren von Homebrew mit dem folgenden Fehler:

/usr/local is not writable. You should change the ownership
and permissions of /usr/local back to your user account:
  Sudo chown -R $(whoami) /usr/local
12
Max

Für einige wird es sein: 

Sudo chown -R JonJames:admin /usr/local/lib

wo "lib" im Gegensatz zu "bin" oder "include" oder "was auch immer" verwendet wird

Das Homebrew Warning "soll" erklären, was speziell nicht schreibbar ist, und gibt dann eine Befehlssyntax für follow, jedoch müssen Sie das ":" verwenden, im Gegensatz zu dem, was in der Warning erwähnt wird, was eigentlich keine korrekte Syntax ist. ? 

7
Jonathan James

Arbeite für mich

$ Sudo chown -R $(whoami):admin /usr/local

$ cd /usr/local/Library && git stash && git clean -d -f

Gleicher Fehler unter MacOS 10.13

/usr/local/include und /usr/local//usr/lib wurden nicht erstellt. Ich habe manuell erstellt und brew link hat endlich funktioniert.

5
Miguel

Sie müssen/usr/local/include und/usr/local/lib erstellen, wenn sie nicht vorhanden sind:

$ Sudo mkdir -p /usr/local/include
$ Sudo chown -R $USER:admin /usr/local/include
3
waldencoder

Was hat bei mir funktioniert, obwohl ich mehr Benutzer auf meinem Computer habe.

Terminal verwenden:

  • Ausführen von brew doctor
    • Das Anzeigen mehrerer /usr/local/... Ist kein beschreibbarer Fehler
  • Deaktivieren des Systemintegritätsschutzes für Mac: https://Apple.stackexchange.com/a/208481/55628
  • Führen Sie Folgendes aus
  • Sudo chown -R $(whoami) /usr/local/*
  • brew doctor && brew upgrade && brew doctor

Ausführen von Macbook Pro OSX High Sierra (Version 10.13.3.)

EDIT 1:

Zu Ihrer Information: Bitte beachten Sie, dass dies ein Problem beim Ausführen von MySQL auf Ihrem MAC verursacht.

Um meinen lokalen Server starten zu können, musste ich Folgendes ausführen:

Sudo chown -R mysql:mysql /usr/local/mysql/data

Nachdem Sie dies ausgeführt haben, können Sie Ihren lokalen MySQL Server starten.

3
JayRizzo

Sie müssen die Kontrolle über den gesamten /usr/local übernehmen, um dies zu tun, und Sie müssen eine rekursive chown unter /usr/local ausführen.

Sudo chown -R YOUR_USERNAME:admin /usr/local/

2
Null-Hypothesis

Zuerst müssen Sie das Verzeichnis erstellen:

Sudo mkdir /usr/local/include

Zweite:

Sudo chown -R $(whoami) $(brew --prefix)/*
2
gugapc

Wechseln Sie in das Verzeichnis/bin und geben Sie Folgendes ein:

chown -R $ (whoami): admin/usr/local/bin

1
Yusuf

Ich möchte nur den bescheidenen Kommentar von sam9046 als alternative und möglicherweise viel einfachere Lösung wiedergeben, die in meinem Fall funktioniert hat: uninstall und install homebrew noch einmal von Grund auf neu. Keine Sudo-Befehle erforderlich.

Sie können das Deinstallationsskript auch über den obigen Link durchsuchen/ändern, wenn Sie sicherstellen möchten, dass es sich nicht auf Ihre zuvor installierten Pakete auswirkt. In meinem Fall war dies nur meine Heimmaschine, also habe ich gerade neu angefangen.

1
adamkski
Sudo mkdir -p /usr/local/include /usr/local/lib /usr/local/sbin

Sudo chown -R $(whoami) /usr/local/include /usr/local/lib /usr/local/sbin

Dadurch werden alle erforderlichen Verzeichnisse erstellt und der richtige Besitz zugewiesen.

Nachdem Sie diese Befehle ausgeführt haben, prüfen Sie mit: brew doctor

Dies funktioniert für Mojave.

1
Sven

In meiner Organisation ist dies geschehen, nachdem alle Benutzer an Active Directory gebunden waren (die UID wurde effektiv von 50x in ###### geändert).

Jetzt müssen Sie lediglich den Besitz aller Dateien ändern, deren Eigentümer x war, in y.

Dabei ist 501 meine alte numerische Benutzer-ID, die noch mit allen Homebrew-Dateien verknüpft ist.

Die alte Benutzer-ID kann mit ll /usr/local/Cellar gefunden werden.

Aktualisieren Sie jetzt den Besitz Sudo find /usr/local -user 501 -exec chown -h $USER {} \;

Auf diese Weise vermeiden wir, den Besitz von Dateien zu ändern, die nicht von Homebrew kontrolliert werden oder zu einem anderen Systembenutzer gehören.

1
Tarun