J'utilise Homebrew pour gérer les installations de paquet sur Lion (Lion Server, mais cela ne devrait pas être grave) .
Homebrew a été installé sous un utilisateur. Maintenant, un utilisateur différent aimerait ajouter un paquet et Homebrew n'est pas content:
$ brew update
fatal: Unable to create '/usr/local/.git/index.lock': Permission denied
Error: Failure while executing: git checkout -q master
Est-ce considéré comme mauvais? Je pensais que l'un des avantages d'utiliser /usr/local/
pour vos installations était que vous n'en aviez pas besoin sudo
. Mais nous le faisons clairement.
Tous les utilisateurs qui auraient besoin de modifier Homebrew sont membres du groupe admin . Donc, je ne pouvais chmod -R g+w /usr/local/
que craindre que cela cogne quelque chose ou crée des problèmes de sécurité?!?
Conseil?
$ ls -al /usr/local/.git/
total 432
drwxr-xr-x 14 ladmin admin 476 Feb 24 11:48 .
drwxrwxr-x 14 root admin 476 Feb 9 15:27 ..
-rw-r--r-- 1 ladmin admin 94 Feb 24 11:48 FETCH_HEAD
-rw-r--r-- 1 ladmin admin 23 Feb 24 11:48 HEAD
-rw-r--r-- 1 ladmin admin 41 Feb 9 15:28 ORIG_HEAD
drwxr-xr-x 2 ladmin admin 68 Feb 9 15:27 branches
-rw-r--r-- 1 ladmin admin 218 Feb 9 15:27 config
-rw-r--r-- 1 ladmin admin 73 Feb 9 15:27 description
drwxr-xr-x 12 ladmin admin 408 Feb 9 15:27 hooks
-rw-r--r-- 1 ladmin admin 200272 Feb 24 11:48 index
drwxr-xr-x 3 ladmin admin 102 Feb 9 15:27 info
drwxr-xr-x 4 ladmin admin 136 Feb 9 15:27 logs
drwxr-xr-x 4 ladmin admin 136 Feb 9 15:27 objects
drwxr-xr-x 5 ladmin admin 170 Feb 9 15:27 refs
la source
brew doctor
se plaint toujours que, par exemple,/usr/local/include
n’est pas accessible en écriture, même si je peux manuellement vérifier que je peux écrire dans un fichier ici (par exemple, en utilisantecho "hello" > /usr/local/include/testfile
). Je suis membre du groupe admin. Des idées pour le débogage?chmod -R g+w /Library/Caches/Homebrew
sudo chown -R $(whoami) $(brew --prefix)/*
au lieu des commandes ci-dessus. Je l'ai eu d' iciVous pouvez activer les autorisations homebrew pour plusieurs utilisateurs via le groupe admin ou via tout autre groupe d'utilisateurs. Voici une recette légèrement développée pour configurer ceci:
Le groupe doit administrer le répertoire d'installation homebrew local. Donc, affectez / usr / local au groupe d’ administrateurs (ou à votre groupe préféré) et activez les autorisations d’écriture des groupes:
Le groupe a également besoin d'autorisations pour le cache local de formules et de fichiers sources de homebrew dans / Library / Caches / Homebrew :
Si vous rencontrez d'autres problèmes d'autorisations similaires lors de l'utilisation de Homebrew à partir de plusieurs comptes, notez le chemin incriminé et envisagez d'essayer la même approche.
Leif Hanack a blogué une solution similaire , où il crée et configure un groupe d'utilisateurs dédié brew à cet effet.
--Mise à jour le 2015-08-20
J'ai récemment utilisé à nouveau cette réponse pour configurer un compte invité avec un accès homebrew. Pour utiliser Cask à partir du deuxième compte administrateur, je devais également exécuter les commandes suivantes:
la source
J'allais juste commenter la réponse acceptée (mais je n'ai pas encore la réputation de ça.)
En tant qu'utilisateur de Caskroom.io , je recommanderais également d'ajouter:
depuis tonneau, une extension extrêmement utile à homebrew, met tous ses fichiers dans
/opt/homebrew-cask
la source
/opt
je suppose que tu veux dire/usr/local
? Comme/opt
n'existe pas sur les récentes installations OS X, même après une installation homebrew./usr/local
(ou plus précisément$(brew --prefix)
), de/opt/homebrew-cask
sorte que cette réponse est désormais sans objet, mais était valide au moment de sa rédaction. Voir Déplacer l'emplacement par défaut de la pièce n ° 21603Vous devez donner la permission au chemin. lancez ceci en ligne de commande et vous irez bien. Cela a fonctionné pour moi:
sudo chown -R $ USER / usr / local
la source
Je voterais pour définir la permission du groupe - et pour moi, il semble que c'est exactement ce pour quoi elle est faite et ne devrait pas créer de problème de sécurité.
la source
sudo chmod -R g+w /usr/local/
?