¿Cómo actualizar bash con brew (error de permiso)?

Trabajo con Yosemite (10.10.3) y me gustaría actualizar bash(a la versión 4.x) y encontré esta publicación . Después brew update, lo hice brew install bash, pero obtuve:

==> Downloading https://homebrew.bintray.com/bottles/bash-4.3.33.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring bash-4.3.33.yosemite.bottle.tar.gz
==> Caveats
In order to use this build of bash as your login shell,
it must be added to /etc/shells.
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied - /usr/local/share/locale/af
Error: Permission denied - /usr/local/share/locale/af

¿Cómo puedo arreglar esto? Entré pero cdel /usr/local/share/localedirectorio afno existe. ¿Por qué brew intenta acceder a esto?

Actualizar

Olvidé decir, si uso sudo brew install bash, recibo:

Error: Cowardly refusing to `sudo brew install`
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
Abre una ventana de terminal y sudo chown -R <tunombredeusuario> /usr/local ?
No hagas esto. Si lo hace, estará abriendo una importante vulnerabilidad de seguridad.

Respuestas (2)

Debe estar seguro de que el grupo /usr/localy todo lo que está dentro de él es admin(supongo que su nombre de usuario admintambién pertenece al grupo). Si este no es el caso, arréglalo con:

sudo chown -R $USER:admin /usr/local

Probablemente tendrás que hacer lo mismo en /Library/Caches/Homebrew:

sudo chown -R $USER:admin /Library/Caches/Homebrew
Hola, gracias por ayudar. Lo hice (sí, mi nombre de usuario pertenece al grupo de administración). Después de eso, brew install bashdio Warning: bash-4.3.33 already installed, it's just not linked. Pero brew link bashdio Linking /usr/local/Cellar/bash/4.3.33... Error: Permission denied - /usr/local/share/locale/af. Como dije en mi publicación, la subcarpeta afde /usr/local/share/localeno existe. ¿Lo creo? ¿Por qué brew quiere instalar/enlazar allí?
Vuelva a instalarlo. brew uninstall bashy brew install bashluego
... eso es exactamente lo que probé, también. Y terminó con el mismo resultado (obteniendo Error: An unexpected error occurred during the 'brew link' stepdebido al error de permiso denegado). Instalé muchas cosas con cerveza y siempre funcionó. Pero parece que el subdirectorio afnunca se creó.
¿ Puedes crear un archivo para /usr/localprobar que tienes permanentes allí?
Creé un directorio y un archivo, ambos funcionaron.
Extraño. Lo último que debe intentar es forzar la reinstalación ( brew install bash --force). Esto debería reemplazar todos los archivos copiados antes.
Me sale de nuevo Warning: bash-4.3.33 already installed, it's just not linkedy cuando lo hago me brew link bashaparece de nuevo el error de permiso denegado. Luego creé afa mano. brew estaba buscando LC_MESSAGES, así que simplemente lo copié del subdirectorio de. Tuve que darle permisos de escritura, pero luego obtuve el mismo permiso denegado advertencia, ahora para /usr/local/share/locale/bg... hmmm... parece que estos son códigos de países... Me pregunto cuántos me faltan...
Corrí brew doctory la primera entrada decía eso Warning: Some directories in /usr/local/share/locale aren't writable. This can happen if you "sudo make install" software that isn't managed by Homebrew. If a brew tries to add locale information to one of these directories, then the install will fail during the link step. You should probably 'chown' them... pero @Froggard sugirió que no hiciera eso...
OK veo. Prueba esto: cd /usr/local/; sudo chown -R your-username *. Luego reinstale bash nuevamente.
Hola, eso funciono, gracias. Tuve que registrarme vía bash sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"(para todos aquellos que estén interesados ​​en esto)

Esta línea:

sudo chown -R $USER:admin /usr/local

Trabajó para mi.

Bienvenido a Preguntar Diferente. Nos gusta que las respuestas sean más que una sola línea. Idealmente, desea explicar por qué su respuesta es *correcta". También ayuda proporcionar enlaces, citas y/o capturas de pantalla. Consulte nuestra sección de ayuda Cómo responder sobre cómo escribir buenas respuestas a las preguntas.