Instalado, pero no vinculado

86

Nota: no soy tan bueno usando shell.

Estaba intentando instalar Valgrindusando brewen Yosemite.

brew install --HEAD valgrind

Hacia el final, recibí un error relacionado con la vinculación, así que cuando intenté reinstalar, obtuve:

Advertencia: valgrind-HEAD ya está instalado, simplemente no está vinculado

Así que aparentemente ya lo he instalado. Luego, en base a otras preguntas y respuestas de SO, probé:

brew link valgrind

Esto pareció resolver los problemas de otras personas al vincular un software ya instalado, pero esto me dio un error:

Linking /usr/local/Cellar/valgrind/HEAD... 
Error: Could not symlink lib/pkgconfig/valgrind.pc
/usr/local/lib/pkgconfig is not writable.

También intenté actualizar brewpero no resolvió el problema. Si no se puede escribir, tal vez sudome dé permiso, pero no quiero usarlo sudosin saber exactamente lo que estoy haciendo.

¿Qué está pasando y cómo puedo solucionarlo?

aanrv
fuente

Respuestas:

103

Parece un problema de permisos. Intentaría hacer esto

chmod 755 /usr/local/lib/pkgconfig

Esto debería hacer que esté disponible, luego intente

brew link valgrind

Si eso no funciona, trataría de verificarlo

brew doctor
Gann14
fuente
5
Yo uso brew doctor, y siguiendo las instrucciones, luego uso chowndos veces para resolver el problema.
yanzi1225627
2
@ yanzi1225627 ¿por qué dos veces?
Greg Hilston
31

Primer intento

brew link <package>

Si da un error, intente un diagnóstico automático

brew doctor

brew doctor proporciona una lista de problemas que podrían provocar errores en el proceso de instalación.

Para solucionar problemas en caso de archivos conflictivos, ejecute para obtener una lista de todas las acciones que se realizarán mediante sobrescritura sin realizarlas realmente.

Para enumerar todos los archivos que se eliminarían:

  brew link --overwrite --dry-run <package>

seguido de esta ejecución que ejecutará la sobrescritura, suponiendo que sienta que las acciones realizadas por sobrescritura llevarán su sistema a un estado más estable .

Para forzar el enlace y sobrescribir todos los archivos en conflicto:

 brew link --overwrite <package>
Vinay Vemula
fuente
13

Si ninguna de las soluciones anteriores funciona, intente esto.

sudo chown -R $USER:admin /usr/local
brew link <package-name>
Harshit
fuente
3

En mi caso, brew doctor lo hizo bien. En algún momento / usr / local / lib / pkgconfig se configuró para ser propiedad de root en lugar de mi cuenta. El remedio prescrito funcionó -

sudo chown -R $(whoami) /usr/local/lib/pkgconfig
Pedro Jiménez
fuente
2

Tuve el mismo problema y lo resolví con la siguiente solución: Ejecute brew doctor desde la Terminal para verificar todos sus errores

luego ejecute el siguiente comando:

sudo chown -R $USER:admin /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share

despues de correr:

brew link <package_name>
B.Kleo
fuente
1

Tipo

link valgrind

Mostrará un error de que no se puede vincular porque tal o cual directorio no se puede escribir. Genial, lo hacemos escribible ahora. Tipo

sudo chmod a+w the/directory/shown/as/error

Si el directorio no se puede escribir, tampoco podrá cambiar su permiso y hacerlo. Sudo hará posible esta operación. chmod cambiará el modo y hará que todos (a) los usuarios puedan escribirlo (w).

A continuación, se le pedirá que escriba la contraseña de su sistema. Después de esto, escriba nuevamente

link valgrind

y funcionará esta vez.

monkSinha
fuente
1

Esto es lo que probé y funcionó:

$ 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.

Buscado pkgconfig: (después chmod 750)

drwxr-xr-x   4 root           wheel   136B Mar 30  2013 pkgconfig

Intenté chownlo siguiente:

$ sudo chown -R  avkashchauhan:admin /usr/local/lib/pkgconfig

debería verse como a continuación:

drwxr-xr-x   4 avkashchauhan  admin   136B Mar 30  2013 pkgconfig

Después de que lo probé:

$ brew link sdl                                                                                                                                                                                                                    
Linking /usr/local/Cellar/sdl/1.2.15... 182 symlinks created
AvkashChauhan
fuente
0

Tengo un problema similar,

$ brew install sqlite Actualizando Homebrew ... ==> ¡Homebrew actualizado automáticamente! Actualizado 1 toque (homebrew / core). Sin cambios en las fórmulas.

Advertencia: sqlite-3.17.0 ya está instalado, simplemente no está vinculado.

Traté de vincularlo

$ brew link sqlite Advertencia: sqlite es solo de barril y debe estar vinculado con --force Tenga en cuenta que hacerlo puede interferir con el software de construcción.

Entonces hazlo por la fuerza,

$ brew link --force sqlite Linking /usr/local/Cellar/sqlite/3.17.0 ... 8 enlaces simbólicos creados

X. L
fuente
0

Tuve el mismo problema con el permiso, pero después de dar mi permiso, todavía error. Y aquí lo hago, primero:

brew unlink valgrind

y entonces,

brew link valgrind

espero que esto ayude.

mbdrian
fuente
0
brew install cocoapods --build-from-source
brew link --overwrite cocoapods

Los únicos comandos que me funcionaron después de actualizar a MAC OS Mojave 10.14.6

Naishta
fuente