Remarque: je ne suis pas très doué pour utiliser Shell.
J'essayais d'installer Valgrind
en utilisant brew
sur Yosemite.
brew install --HEAD valgrind
Vers la fin, j'ai eu une erreur de liaison alors quand j'ai essayé de réinstaller, j'ai eu:
Attention: valgrind-HEAD est déjà installé, il n'est tout simplement pas lié
Donc, apparemment, je l'ai déjà installé. Puis, à partir d’autres SO questions et réponses, j’ai essayé:
brew link valgrind
Cela semblait résoudre les problèmes des autres personnes avec la liaison d'un logiciel déjà installé, mais cela m'a donné une erreur:
Linking /usr/local/Cellar/valgrind/HEAD...
Error: Could not symlink lib/pkgconfig/valgrind.pc
/usr/local/lib/pkgconfig is not writable.
J'ai également essayé de mettre à jour brew
mais cela n'a pas résolu le problème. Si ce n’est pas accessible en écriture, Sudo
me donnerait peut-être la permission, mais je ne veux pas utiliser Sudo
sans savoir exactement ce que je fais.
Que se passe-t-il et comment y remédier?
Cela ressemble à un problème de permission. J'essaierais de faire ça
chmod 755 /usr/local/lib/pkgconfig
Cela devrait rendre cela disponible, alors essayez
brew link valgrind
Si cela ne fonctionne pas, je vais essayer de vérifier
brew doctor
Première exécution
brew link <package>
Si cela donne une erreur, essayez un diagnostic automatisé
brew doctor
brew doctor
donne une liste des problèmes pouvant entraîner des erreurs lors du processus d'installation.
Pour résoudre les problèmes en cas de fichiers en conflit, exécutez-vous pour obtenir une liste de toutes les actions que sera effectuée par écrasement sans les effectuer.
Pour lister tous les fichiers qui seraient supprimés:
brew link --overwrite --dry-run <package>
suivi de cette exécution qui exécutera l'écrasement, en supposant que les actions effectuées par écrasement amèneront votre système à un état plus stable .
Pour forcer le lien et écraser tous les fichiers en conflit:
brew link --overwrite <package>
Si aucune des solutions ci-dessus ne fonctionne, essayez ceci.
Sudo chown -R $USER:admin /usr/local
brew link <package-name>
J'ai eu le même problème et j'ai résolu avec la solution suivante: Exécutez brassez docteur de Terminal pour vérifier toutes vos erreurs
puis lancez la commande suivante:
Sudo chown -R $USER:admin /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share
après avoir couru:
brew link <package_name>
Dans mon cas, médecin brasseur a tout compris. À un moment donné,/usr/local/lib/pkgconfig a été configuré pour appartenir à root plutôt qu'à mon compte. Le remède prescrit a fonctionné -
Sudo chown -R $(whoami) /usr/local/lib/pkgconfig
Type
link valgrind
Il indiquera une erreur indiquant qu'il ne peut pas être lié car tel répertoire n'est pas accessible en écriture. Cool, nous le rendons en écriture maintenant. Type
Sudo chmod a+w the/directory/shown/as/error
Si le répertoire n'est pas accessible en écriture, vous ne pourrez pas modifier son autorisation et le rendre accessible en écriture. Sudo rendra cette opération possible. chmod changera le mode et fera en sorte que tous les utilisateurs puissent l'écrire.
Ensuite, vous serez invité à saisir le mot de passe de votre système. Après cela, tapez à nouveau
link valgrind
et cela fonctionnera cette fois.
Voici ce que j'ai essayé et cela a fonctionné:
$ brew link --overwrite sdl
Linking /usr/local/Cellar/sdl/1.2.15...
Error: Could not symlink lib/pkgconfig/sdl.pc
/usr/local/lib/pkgconfig is not writable.
Recherché pkgconfig
: (après chmod 750
)
drwxr-xr-x 4 root wheel 136B Mar 30 2013 pkgconfig
J'ai essayé chown
comme ci-dessous:
$ Sudo chown -R avkashchauhan:admin /usr/local/lib/pkgconfig
il devrait ressembler à celui ci-dessous:
drwxr-xr-x 4 avkashchauhan admin 136B Mar 30 2013 pkgconfig
Après l'avoir essayé:
$ brew link sdl
Linking /usr/local/Cellar/sdl/1.2.15... 182 symlinks created
J'avais même un problème de permission, mais après avoir donné ma permission, je me suis quand même trompé Et voilà, d'abord:
brew unlink valgrind
et alors,
brew link valgrind
espérons cette aide.
J'ai un problème similaire,
$ brew install sqlite Mise à jour de Homebrew ... ==> Mise à jour automatique de Homebrew!.
Attention: sqlite-3.17.0 est déjà installé, il n'est simplement pas lié.
J'ai essayé de le lier,
$ brew link sqlite Avertissement: sqlite ne contient que des fûts et doit être lié à --force Notez que cela peut interférer avec la construction du logiciel.
Alors fais le par la force,
$ brew link --force sqlite Linking/usr/local/Cellar/sqlite/3.17.0 ... 8 liens symboliques créés