web-dev-qa-db-fra.com

Erreur d'infusion: impossible de créer un lien symbolique, le chemin d'accès n'est pas accessible en écriture

Lorsque j'essaie d'installer une bibliothèque avec homebrew (brew install aLibrary), J'ai eu l'erreur suivante:

Could not symlink lib/pkgconfig/aFile
/usr/local/lib/pkgconfig is not writable.

Que devrais-je faire?

Il y a plusieurs questions et réponses ( 1 , 2 , etc.) concernant cette erreur d'infusion, il s'agit d'une tentative pour poser une question générale comme suggéré - ici .

64
arthur.sw

Comme expliqué ici par Rick :

Commencez par brew doctor, Qui vous montrera des erreurs dans la configuration de votre préparation.

Vous pourriez voir quelque chose comme ceci: "Avertissement:/usr/local/lib/pkgconfig n'est pas accessible en écriture."

Il vous donnera le conseil suivant: "Vous devriez probablement chown/usr/local/lib/pkgconfig".

Cela signifie: Sudo chown -R $(whoami) /usr/local/lib/pkgconfig

Ensuite, vous devrez lier les fichiers avec ceci: brew link yourLibrary

Si cela ne fonctionne pas, espérons que la sortie de brew doctor Vous donnera assez pour continuer la recherche.

152
arthur.sw

Giant Elk avait une excellente suggestion et c'est ainsi que j'ai résolu mon problème, qui, à mon avis, est le plus propre. Les utilisateurs ne doivent pas modifier les autorisations à moins de connaître les ramifications.

  1. Exportez vos paquets installés (via brew) dans un fichier texte:

    brew list > brewlist.txt
    
  2. Désinstallez Brew:

    Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    
  3. Réinstallez le brassin:

    /usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  4. Réinstallez les packages précédents (modifiez la liste si vous n'avez pas besoin de tous les packages):

    brew install $(< brewlist.txt )
    
8
RSchroeder

Utilisez le suivant.

$ brew doctor

le message affichera les liens d'erreur vers Prune. S'il en trouve, lance l'option suivante.

$ brew Prune

une fois que ceux-ci sont supprimés, continuez à les lier entre eux

$ brew link python
4
eltechnochamo

Vous devriez simplement donner l'autorisation à votre compte en exécutant cette commande sur le terminal.

Sudo chown -R $(whoami) (path)

Dans votre cas: Sudo chown -R $(whoami) lib/pkgconfig/aFile /usr/local/lib/pkgconfig

1
defcon

J'ai désinstallé brew, réinstallé, puis les problèmes sont partis.

1
Giant Elk