titulo name longitud keywords hacer etiqueta ejemplos cual crear como buen homebrew

homebrew - name - longitud title



Homebrew: no se pudo enlazar, no se puede escribir en/usr/local/bin (13)

Al instalar tig , HomeBrew muestra los siguientes problemas al instalar una dependencia:

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


Para aquellos que están buscando /usr/local/sbin no se puede escribir el error:

ACTUALIZACIÓN: podría ser /usr/local/someOtherFolderName por ejemplo, /usr/local/include . Solo necesitas crear esa carpeta con:

  • sudo mkdir someOtherFolderName

Primero cree la carpeta sbin , tenga en cuenta que esto requiere privilegios de sudo

  • cd /usr/local

  • sudo mkdir sbin

  • sudo chown -R $(whoami) $(brew --prefix)/*

  • brew link yourPackageName


Después de la respuesta de Alex, pude resolver este problema; Parece que este es un problema no específico de los paquetes que se instalan, sino de los permisos de las carpetas de homebrew .

sudo chown -R `whoami`:admin /usr/local/bin

Para algunos paquetes, es posible que también deba hacer esto a /usr/local/share o /usr/local/opt :

sudo chown -R `whoami`:admin /usr/local/share sudo chown -R `whoami`:admin /usr/local/opt


En lugar de ejecutar cualquier comando en particular, recomendaría ejecutar brew doctor y tomarse todas las advertencias con seriedad. Puede haber otros problemas en los que se quede atascado y es posible que no se capture en esta pregunta.

Además, a medida que brew se actualiza con el tiempo, los comandos particulares pueden o no seguir siendo válidos. brew doctor , sin embargo, se asegurará de que esté al día con la solución de problemas.


Encontré el mismo problema, podemos resolverlo en tres pasos:

Paso 1

sudo chown -R $(whoami) $(brew --prefix)/*

Paso 2

brew doctor

Paso 3

brew prune

Si todavía tiene algún problema de vinculación, digamos para mysql , simplemente escriba

brew link mysql

Esto funcionará.


Esto se debe a que el usuario actual no tiene permiso para escribir en esa ruta. Por lo tanto, para cambiar los permisos r / w (lectura / escritura) puede usar 1. terminal, o 2. Ventana gráfica "Obtener información".

1. Usando la Terminal

Google cómo usar los comandos chmod / chown (cambiar modo / cambiar propietario) desde la terminal

2. Usando el gráfico ''Obtener información''

Puede hacer clic con el botón derecho en la carpeta / archivo del que desea cambiar los permisos, luego abrir Obtener información que le mostrará una ventana como la siguiente, en la parte inferior de la cual puede cambiar fácilmente los permisos r / w:

Recuerde volver a cambiar el permiso a "solo lectura" después de su trabajo temporal, si es posible



He encontrado para mi configuración particular los siguientes comandos trabajaron

brew doctor

Y luego eso me mostró dónde estaban mis errores, y luego este comando ligeramente diferente del comentario anterior.

sudo chown -R $(whoami) /usr/local/opt


Las otras respuestas son correctas, pero no responden por qué podría estar ocurriendo este problema y cómo abordar esa causa raíz.

Porque

Hay dos causas posibles para este problema:

  1. La instalación de homebrew se realizó con un usuario distinto al que está utilizando actualmente. Homebrew espera que solo el usuario que lo instaló originalmente quiera usarlo.
  2. Instaló algún software que escribe en / usr / local sin usar brew. Esta es la causa que sugiere brew doctor , si la ejecutas.

Solución

Multiusuario Homebrew

Si tiene varias cuentas de usuario y desea que más de una de ellas pueda usar brew, debe ejecutar algunos pasos; de lo contrario, tendrá que cambiar constantemente la propiedad de la estructura de archivos de Homebrew cada vez que cambie de usuario. y eso no es una gran idea

Las instrucciones detalladas se pueden encontrar en online , pero la respuesta rápida es esta:

  1. Crea un grupo llamado brew:

    1. Preferencias de sistema abierto
    2. Haga clic en Cuentas
    3. Haz clic en el "+" (desbloquea primero si es necesario)
    4. En Nueva cuenta, seleccione Grupo.
    5. entrar en brew
    6. Haga clic en Crear grupo
  2. Seleccione el grupo de preparación y agregue las cuentas de usuario que desea utilizar elaborar.
  3. cambie la propiedad del grupo de carpetas / usr / local: sudo chgrp -R brew /usr/local
  4. cambie los permisos para agregar escritura a / usr / local como grupo: sudo chmod -R g+w /usr/local
  5. cambiar el grupo de directorio de caché de homebrew: sudo chgrp -R brew /Library/Caches/Homebrew
  6. cambie los permisos del directorio de caché de homebrew: sudo chmod -R g+w /Library/Caches/Homebrew

Homebrew de un solo usuario

Si no está tratando de usar más de un usuario con Homebrew, entonces la solución proporcionada por las otras respuestas, basada en las sugerencias de brew doctor es probablemente suficiente:

sudo chown -R $(whoami) /usr/local

sudo chown -R $(whoami) /Library/Caches/Homebrew

Verificación

Después de estos pasos, brew doctor debe informar el éxito de cualquier usuario en el grupo de elaboración , suponiendo que haya cerrado la sesión y vuelva a iniciar la sesión para aplicar las nuevas membresías de grupo (si se realizó la ruta de multiusuario). Si solo corrigió cosas para el usuario casero de un solo usuario, cerrar la sesión y volver a iniciarla no debería ser necesario ya que ninguna de las membresías de su grupo ha cambiado.


Mi problema fue

Error: Could not symlink share/man/man7/ABORT.7 /usr/local/share/man/man7 is not writable.

chown no ayudó, pero seguí los consejos de brew doctor y esta advertencia me ayudó:

Warning: Broken symlinks were found. Remove them with `brew prune`: /usr/local/share/man/man3/*

Después de la brew prune todo funcionó bien!


Mientras hacía el nodo de brew link Además, también tuve los siguientes problemas:

Error: No se pudo escribir el enlace simbólico include / node / usr / local / include.

Enlace de /usr/local/Cellar/node/9.3.0 ... Error: Permiso denegado @ dir_s_mkdir - / usr / local / lib

Para resolver lo anterior, solo vaya a / usr / local / y verifique la disponibilidad de las carpetas ''include'' y ''lib'', si esas carpetas no están disponibles, simplemente créelas manualmente.

Y ejecuta brew install node de nuevo.


Para aquellos que se encuentren con este problema (otorgado 4 años después de que se publicara esta publicación) mientras ejecutaba Mac OS High Sierra, los pasos que se describen a continuación solucionaron el problema para mí. Esencialmente solo describe la desinstalación y reinstalación de brew.

https://medium.com/@mrkdsgn/brew-error-on-macos-high-sierra-check-you-have-permission-to-write-to-usr-local-e8bd1c6a22d4

Después de ejecutar esos pasos, ¡ brew link funcionó a la perfección!


Para mi la solución fue ejecutar brew update .

Por lo tanto, haz esto primero.

Esta podría ser una práctica normal para las personas familiarizadas con Homebrew, pero no soy una de esas personas.

Edición: descubrí que necesitaba actualizar ejecutando brew doctor según lo sugerido por la respuesta de @ kinnth a esta misma pregunta.

Un flujo de trabajo de solución de problemas general podría tener este aspecto: 1. ejecutar brew update 2. si eso no ayuda a ejecutar brew doctor y seguir sus instrucciones 3. si eso no ayuda a controlar el desbordamiento de la pila


Si va a la carpeta en el buscador, haga clic con el botón derecho y seleccione "Obtener información", puede ir a la sección "Compartir y permisos" de la carpeta y permitir "Leer y escribir" para "todos"

Esto es lo que hago para hacer pasar los enlaces simbólicos con este error. También brew parece restablecer los permisos en la carpeta también como si no hubieras alterado nada