web-dev-qa-db-fra.com

Homebrew: Impossible d'établir un lien symbolique,/usr/local/bin n'est pas accessible en écriture

Lors de l'installation de tig, HomeBrew affiche les problèmes suivants lors de l'installation d'une dépendance:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/a2x
/usr/local/bin is not writable.

You can try again using:
  brew link asciidoc
297
Jikku Jose

Suite à la réponse d’Alex j’ai pu résoudre ce problème; semble être un problème non spécifique aux packages en cours d’installation mais aux autorisations des dossiers homebrew.

Sudo chown -R `whoami`:admin /usr/local/bin

Pour certains paquets, vous devrez peut-être également utiliser /usr/local/share ou /usr/local/opt:

Sudo chown -R `whoami`:admin /usr/local/share
Sudo chown -R `whoami`:admin /usr/local/opt
515
Jikku Jose

Plutôt que d'exécuter une commande particulière, je vous recommande d'exécuter brew doctor et de prendre au sérieux tous les avertissements. Il se peut que vous soyez bloqué par d’autres problèmes qui pourraient ne pas être pris en compte dans cette question. 

De plus, au fur et à mesure que l'infusion est mise à jour avec le temps, des commandes particulières peuvent ou non rester valides. brew doctor, cependant, garantira que vous obtenez un dépannage à jour. 

152
zakishaheen

J'ai trouvé pour ma configuration particulière les commandes suivantes qui fonctionnaient

brew doctor

Et puis cela m'a montré où se trouvaient mes erreurs, puis cette commande légèrement différente du commentaire ci-dessus.

Sudo chown -R $(whoami) /usr/local/opt
28
kinnth

Pour les personnes confrontées à ce problème (accordé 4 ans après la publication de ce message) sous Mac OS High Sierra - les étapes décrites ici ont résolu le problème pour moi. Essentiellement, il suffit de décrire la désinstallation et la réinstallation de la bière. 

https://medium.com/@mrkdsgn/brew-error-on-macos-high-sigh-check-you-have-permission-to-write-to-usr-local-e8bd1c6a22d4

Après avoir exécuté ces étapes, brew link a fonctionné à merveille! 

9
Erica Salling

J'ai trouvé le même problème, nous pouvons résoudre en trois étapes: -

Étape 1

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

Étape 2

brew doctor

Étape 3

brew Prune

Si vous rencontrez toujours un problème de liaison, disons que pour mysql, écrivez simplement 

brew link mysql

Cela fonctionnera. 

8
Harry_pb

Pour moi, la solution consistait à exécuter brew update.

Alors, FAITES-LE EN PREMIER.

Cela pourrait être une pratique normale pour les personnes familières avec l'homebrew, mais je ne suis pas de ceux-là.

Edit: J'ai découvert que je devais mettre à jour en exécutant brew doctor comme suggéré par la réponse de @ kinnth à cette même question.

Un workflow de dépannage général pourrait ressembler à ceci: 1. lancez brew update 2. Si cela ne vous aide pas, lancez brew doctor et suivez ses instructions 3. si cela n'aide pas à contrôler le débordement de pile

7
FragmentalStew

Tout en faisant brew link node, j’ai également eu les problèmes suivants:

Erreur: Impossible d'établir un lien symbolique entre include/node /Usr/local/include n'est pas accessible en écriture.

Liaison /usr/local/Cellar/node/9.3.0 ... Erreur: autorisation refusée @ dir_s_mkdir -/usr/local/lib

Pour résoudre ce qui précède, accédez à/usr/local/et vérifiez la disponibilité des dossiers "include" et "lib". Si ces dossiers ne sont pas disponibles, créez-les manuellement.

Et lancez à nouveau brew install node

6

En effet, l'utilisateur actuel n'est pas autorisé à write dans ce chemin. Ainsi, pour modifier les autorisations r/w (lecture/écriture), vous pouvez utiliser soit 1. terminal, soit 2. la fenêtre "Get Info" graphique.

1. Utilisation du terminal

Comment utiliser les commandes chmod/chown (changement de mode/changement de propriétaire) depuis le terminal

2. Utilisation de 'Obtenir des informations' graphique

Vous pouvez cliquer avec le bouton droit de la souris sur le dossier/fichier dont vous souhaitez modifier les autorisations, puis ouvrir Get Info, ce qui affichera une fenêtre semblable à celle ci-dessous, au bas de laquelle vous pourrez facilement modifier les autorisations r/w: enter image description here

N'oubliez pas de rétablir l'autorisation en "lecture seule" après votre travail temporaire, si possible

5
Hasaan Ali

J'ai trouvé ce qui suit pour les utilisateurs de Sophos Anti-Virus:

https://stackoverflow.com/a/32981184

https://community.sophos.fr/products/free-antivirus-tools-for-desktops/f/17/t/10029

En bref, Sophos modifie les autorisations de certains répertoires/usr/local. Sophos a corrigé cela et le correctif est inclus avec la version 9.4.1.

3
joshau

Mon problème était

Error: Could not symlink share/man/man7/ABORT.7
/usr/local/share/man/man7 is not writable.

chown n'a pas aidé, mais j'ai suivi les conseils de brew doctor et cet avertissement m'a aidé

Warning: Broken symlinks were found. Remove them with `brew Prune`:
/usr/local/share/man/man3/* 

Après brew Prune tout a bien fonctionné!

2
Pavel Druzhinin

Pour ceux qui ne sont pas familiers:

Sudo chown -R YOUR_COMPUTER_USER_NAME PATH_OF_FILE
0
Justin

Si vous avez déjà un répertoire dans /usr/local pour le paquet que vous installez, vous pouvez essayer de le supprimer.

Dans mon cas, j’avais précédemment installé le paquet que j’essayais d’installer sans utiliser brew, puis je l’avais désinstallé. Il restait un répertoire /usr/local/<my_package>/ de cette installation précédente. J'ai supprimé ce dossier (Sudo rm -rf /usr/local/<my_package>/) et ensuite l'étape de création de lien a réussi.

0
Samuel Peter

Si vous allez dans le dossier dans le Finder, faites un clic droit et sélectionnez "Lire les informations", vous pouvez aller à la section "Partage et autorisations" du dossier et autoriser "Lire et écrire" à "Tout le monde" 

C'est ce que je fais pour faire passer les liens symboliques avec cette erreur. Brew semble également réinitialiser les autorisations sur le dossier, comme si vous n'aviez rien modifié

0
Carl Lippert