Brew doctor dit: "avertissement: /usr / local / include n'est pas inscriptible."

Brew docteur dit:

Avertissement: /usr / local / include n'est pas accessible en écriture. Cela peut arriver si vous "sudo make install" logiciel qui n'est pas géré par Homebrew.

Si un brew tente d'écrire un fichier d'en-tête dans ce répertoire, l'installation échoue lors de l'étape de liaison.

, Vous devriez probablement chown /usr/local/include

J'ai essayé différentes commandes pour résoudre cela, mais je suis toujours coincé ici.

Je cours homebrew sur 10.8.2

305
demandé sur gaggina 2013-01-25 21:51:53

15 réponses

Prenez-en possession et tout ce qu'il contient.

Mac OS High Sierra ou plus récent: (ty à Kirk dans les commentaires ci-dessous)

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

Versions précédentes de macos:

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

, Puis faire un autre

$ brew doctor
568
répondu jrwren 2018-07-13 23:34:41

Ce qui a fonctionné pour moi était aussi

sudo chmod g+w /usr/local
sudo chgrp staff /usr/local
99
répondu Durul Dalkanat 2015-11-12 00:32:46

Ce qui a fonctionné pour moi était

$ sudo chown -R yourname:admin /usr/local/bin
36
répondu Ana Isabel 2016-01-11 18:30:25

Le seul qui a travaillé pour moi sur El Capitan était:

sudo chown -R $(whoami) /usr/local
34
répondu Husky 2016-06-13 13:03:07

Pour High Sierra:

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

Ensuite, essayez vos commandes brew.

Problème #3285

12
répondu sayaMahi 2018-01-24 12:40:04

Vous pouvez alias la commande pour résoudre ce problème dans votre .bash_profile et l'exécuter chaque fois que vous le rencontrez:

À la fin du fichier ~/.bash_profile, Ajoutez:

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

Et maintenant, à l'intérieur de votre terminal, vous pouvez exécuter:

$ fix_brew
11
répondu karlingen 2015-10-06 06:48:27

Cela a fonctionné pour moi sur macOS 10.12

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

J'ai eu le problème de mise à jour homebrew avec l'erreur suivante:

/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
11
répondu Max 2016-09-20 17:27:58

Si vous êtes sur High Sierra et rencontrez ce problème, suivez les étapes ci-dessous (Note: /usr/local ne peut pas être chown'D dans High Sierra):

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

Ensuite, essayez de lier avec brew link. Je rencontrais un problème similaire et aucune des solutions ci-dessus ne fonctionnait pour High Sierra. Espérons que cela aide quelqu'un.

9
répondu Pro 2018-04-12 20:32:45

Travailler pour moi

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

$ cd /usr/local/Library && git stash && git clean -d -f
6
répondu Alexander Salas Bastidas 2015-10-07 22:30:06

Pour certains, ce sera:

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

Où "lib" est utilisé par opposition à "ben" ou "comprendre" ou "quoi que"

Le Homebrew Warning "devrait" expliquer ce qui n'est pas accessible en écriture et ensuite vous donner une syntaxe de commande pour follow, mais vous devrez utiliser le ":" par opposition à ce que l'avertissement mentionne qui n'est pas la syntaxe correcte??

6
répondu Jonathan James 2015-12-21 22:22:38

Même erreur sur MacOS 10.13

/usr/local/include et /usr/local/ /usr/lib n'ont pas été créés. J'ai créé manuellement et brew link a finalement travaillé.

3
répondu Miguel 2017-11-29 23:06:29

Vous devez créer /usr / local / include et /usr/local/lib s'ils n'existent pas:

$ sudo mkdir -p /usr/local/include
$ sudo chown -R $USER:admin /usr/local/include
2
répondu waldencoder 2018-03-07 05:38:46

Ce qui a Fonctionné pour moi, tout en ayant j'ai plus de 1 utilisateur sur mon ordinateur.

Utilisation du terminal:

  • Fonctionnement brew doctor
    • voir plusieurs /usr/local/... n'est pas une erreur inscriptible
  • désactivation de la Protection de L'intégrité du système Mac: https://apple.stackexchange.com/a/208481/55628
  • exécutez
  • sudo chown -R $(whoami) /usr/local/*
  • brew doctor && brew upgrade && brew doctor

Exécution du Macbook Pro OSX High Sierra (version 10.13.3.)

Édition 1:

FYI-veuillez noter que cela provoque un problème avec L'exécution de MySQL sur votre MAC.

Pour pouvoir démarrer mon serveur local, j'ai dû exécuter:

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

Après avoir exécuté ceci, vous pouvez démarrer votre serveur MySQL local.

2
répondu JayRizzo 2018-03-13 16:12:38

Vous devez obtenir le contrôle de entire /usr/local pour ce faire, vous devez faire un chown récursif sous /usr/local

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

1
répondu Null-Hypothesis 2016-11-05 00:33:59

Cela s'est produit dans mon organisation après que tous nos utilisateurs ont été liés à active directory (en changeant efficacement l'UID de 50x à ######).

Maintenant, il s'agit simplement de changer la propriété de tous les fichiers où x appartenait à y.

Où 501 est mon ancien ID utilisateur numérique qui est toujours associé à tous les fichiers homebrew.

L'ancien id utilisateur peut être trouvé en utilisant ll /usr/local/Cellar

Maintenant mettre à jour la propriété sudo find /usr/local -user 501 -exec chown -h $USER {} \;

De cette façon, nous évitons de changer le propriété sur les fichiers qui ne sont pas contrôlés par homebrew ou appartiennent à un autre utilisateur du système.

0
répondu Tarun 2015-04-23 18:48:44