0 votos

Permisos en `brew` y `pip3`

De alguna manera los permisos han sido alterados en brew y/o pip3 y ambos están obteniendo errores.

brew tiene un archivo de bloqueo pero cuando lo quito con sudo, los comandos de brew dicen que todavía está allí. pip3 funcionó para instalar mat, pero me dijo que debía actualizar pip3. Sin embargo, al ejecutar el comando que me dijo que usara me da un error de permisos.

Pensaría que restaurar desde Time Machine lo arreglaría, pero no estoy muy seguro de qué directorios restaurar. No quiero 'restaurar' algo más que fue cambiado legítimamente.

Actualización: brew da un mensaje diferente después de reiniciar:

WGroleau@MBP ~ % brew update
/usr/local/Homebrew/Library/Homebrew/utils/lock.sh: line 29: /usr/local/var/homebrew/locks/update: Permission denied
Traceback (most recent call last):
    2: from -e:1:in `<main>'
    1: from -e:1:in `new'
-e:1:in `initialize': Bad file descriptor (Errno::EBADF)
Error: Another active Homebrew update process is already in progress.
Please wait for it to finish or terminate it to continue.

antes, era casi lo mismo, pero también daba la ruta/nombre de un archivo de bloqueo, que borré, sólo para encontrar que un reintento se quejaba del mismo archivo.

NO he realizado otro proceso casero en paralelo.

He examinado el script mencionado anteriormente. La línea 29 no era útil, pero una parte diferente del script tenía un mensaje de error sobre los permisos y sugería sudo chown -R \$(whoami):staff /usr/local/var/homebrew lo que permitió que brew empezara a funcionar y a hacer muchas cosas, pero luego empezó a quejarse de "no such file" en la "Bodega" y también a mencionar los enlaces simbólicos. Así que probé sudo chown -R \$(whoami):staff /usr/local/Cellar /usr/local\Homebrew /usr/local\Frameworks y que permitió brew upgrade para correr mucho más. Pero todavía me sale "Error: Permiso denegado @ apply2files - /usr/local/share/locale/am/LC_MESSAGES/glib20.mo".

Quizás brew sólo puede ser ejecutado por la cuenta que lo instaló sí (suspiro)

0 votos

¿Cuáles son los errores exactos y la línea de comandos utilizada?

0 votos

Puede encontrar y restaurar los archivos exactos de brew y pip3 y brew a través de time machine con los comandos "which brew" y "which pip3". Cada uno de ellos devolverá una ruta de un ejecutable que time machine puede restaurar. En finder, pulse shift + command + . para mostrar los archivos y carpetas ocultos y/o de sistema en los que se encuentran las utilidades

0 votos

Creo que es algo más que los dos ejecutables. Pero tal vez todo el /usr / local Cualquier otra cosa sería arriesgado, ya que he actualizado a OS 11.6 desde la última copia de seguridad.

1voto

WGroleau Puntos 255

brew sólo debe ser ejecutado por la cuenta que lo instaló.

Pero primero, tengo que revertir los comandos chown que ejecuté bajo una cuenta diferente con

sudo chown -R $(whoami):staff /usr/local/var/homebrew \
                              /usr/local/Homebrew \
                              /usr/local/Cellar \
                              /usr/local/Frameworks

Entonces brew upgrade se ejecutó sin errores en esa cuenta.

0 votos

Hay una razón /usr/local debe ser actualizado por Root y no un usuario individual :)

0 votos

Un comando similar a ese es lo que pedía brew cuando daba errores. Ahora funciona.

0 votos

@mmmmmm Homebrew cree que es una característica que la basura /usr/local.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X