web-dev-qa-db-fra.com

Installé, mais pas lié

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?

75
aanrv

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
96
Gann14

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>
26
Vinay Vemula

Si aucune des solutions ci-dessus ne fonctionne, essayez ceci.

Sudo chown -R $USER:admin /usr/local
brew link <package-name>
12
Harshit

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>
2
B.Kleo

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
2
Pedro Jiménez

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.

1
monkSinha

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
1
AvkashChauhan

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.

0
mbdrian

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

0
X. L