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
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
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.
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
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.
Après avoir exécuté ces étapes, brew link
a fonctionné à merveille!
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.
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
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
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:
N'oubliez pas de rétablir l'autorisation en "lecture seule" après votre travail temporaire, si possible
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.
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é!
Pour ceux qui ne sont pas familiers:
Sudo chown -R YOUR_COMPUTER_USER_NAME PATH_OF_FILE
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.
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é