J'ai désinstallé et installé Homebrew 3 fois maintenant car il semble ne jamais me permettre d'installer quoi que ce soit car il me refuse les autorisations à la fin de la plupart des installations.
À titre d'exemple, je publierai ce scénario de téléchargement de libjpeg auquel je suis actuellement confronté.
J'essaie d'installer libjpeg et j'obtiens:
$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg
«brew link jpeg» se traduit par
Error: Permission denied - /usr/local/opt/jpeg
Voici ce que mon médecin-brasseur lit
$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
jpeg
Ce problème d'autorisation a rendu impossible l'utilisation de brew sur quoi que ce soit et j'apprécierais vraiment toutes les suggestions.
sudo chown -R $USER:admin /Library/Caches/Homebrew
pour me débarrasser de mes problèmes d'autorisations.admin
groupe est composé de tous les utilisateurs admin (c'est-à-dire de tous les utilisateurs de comptes utilisateurs macOS qui peuventsudo
, entre autres), donc enchown -R …:admin
suivantchmod -R g+w /usr/local
(comme suggéré par @AndreaDeGaetano), vous ne ferez rien de mal ici et vous n'aurez aucun problème avec d'autres utilisateurs utilisant également/usr/local
/brew
.Nouvelle commande pour les utilisateurs sous Mac OS High Sierra comme il est impossible de
chown
le/usr/local
:bash/zsh
:fish
:Référence: Can't chown / usr / local in High Sierra
la source
sudo chown -R (whoami) (brew --prefix)/*
sudo mkdir /usr/local/Frameworks
, suivi de la commande chown comme cela apparaît dans cette réponse.Comme première option pour quiconque atterrit ici comme je l'ai fait, suivez ce que cela vous suggère de faire:
C'est le chemin le plus sûr, et entre autres, il m'a suggéré de:
qui a résolu ce problème d'autorisations.
Le PO a fait exactement cela mais n'a apparemment pas obtenu la suggestion ci-dessus; vous pourriez, et il est toujours préférable de commencer par là, et alors seulement chercher des solutions non triviales si cela n'a pas aidé.
la source
chown: /usr/local: Operation not permitted
ne fonctionne pas à partir du 5 juillet 2019Si vous êtes sur OSX High Sierra,
/usr/local
ne peut plus l'êtrechown
. Vous pouvez utiliser:sudo chown -R $(whoami) $(brew --prefix)/*
la source
Je n'avais pas le
/usr/local/Frameworks
dossier, donc ça l'a corrigé pour moiLa première ligne crée un nouveau dossier Frameworks pour l'homebrew (brassage) à utiliser. La deuxième ligne donne à ce dossier vos autorisations d'utilisateur actuelles, qui sont suffisantes.
Les commandes utilisées sont les suivantes:
J'ai OSX High Sierra
la source
J'ai eu ce problème .. Une solution de travail consiste à changer la propriété de
/usr/local
l'utilisateur actuel au lieu deroot
:Mais ce n'est vraiment pas une bonne façon. Principalement si votre machine est un serveur ou multi-utilisateurs.
Ma suggestion est de changer la propriété comme ci-dessus et de faire tout ce que vous voulez implémenter avec Brew .. (mise à jour, installation ... etc) puis de réinitialiser la propriété à la racine en tant que:
Cela résoudrait le problème et conserverait la propriété dans le bon ensemble.
la source
La commande de la réponse la plus votée ne fonctionne pas pour moi.
Il a obtenu une sortie:
Cette commande fonctionne très bien (le groupe pour / usr / local l'était
admin
déjà):la source
sudo chown -R "$USER":admin /usr/local
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.
chown: /usr/local: Operation not permitted
Je ne voulais pas encore me moquer des autorisations de dossier, j'ai donc fait ce qui suit:
brew doctor
brew upgrade
brew cleanup
J'ai ensuite pu continuer à installer mon autre formule d'infusion avec succès.
la source
Si vous souhaitez une approche légèrement plus ciblée que la couverture
chown -R
, vous pouvez trouver cefix-homebrew
script utile:Au lieu de faire un
chmod
à votre utilisateur, il donne auadmin
groupe (auquel vous appartenez vraisemblablement) un accès en écriture aux répertoires spécifiques dans/usr/local
lesquels homebrew utilise. Il vous indique également exactement ce qu'il a l'intention de faire avant de le faire.la source
Dans mon cas, le / usr / local / Frameworks n'existait même pas, alors j'ai fait:
Et puis tout a fonctionné comme prévu.
la source
Cela a résolu le problème pour moi.
la source
J'ai résolu mon problème avec ces commandes:
la source
Mac OS 10.13.4
m'a aidé Dans mon cas, j'ai dû créersudo mkdir /usr/local/Frameworks
etsudo chown -R $(whoami) /usr/local/Frameworks
pouvoir lier python!Pour un Mac multi-utilisateur, cela a fonctionné pour moi:
la source
Toutes ces suggestions peuvent fonctionner. Dans la dernière version de brew doctor, de meilleures suggestions ont cependant été faites.
Tout d'abord - corrigez le désordre dont vous avez probablement déjà fait
/usr/local
preuve en l'exécutant en ligne de commande:sudo chown -R root:wheel /usr/local
Prenez ensuite possession des chemins qui devraient être spécifiquement destinés à cet utilisateur:
Toutes ces informations sont disponibles si vous exécutez
sudo brew update
puis lisez tous les avertissements et erreurs que vous rencontrerez ...la source
Pour moi, ça a marché après
brew doctor
Les commandes de modification des autorisations ont entraîné une autre erreur
chown: /usr/local: Operation not permitted
la source
Il y a un script tueur sur github qui corrige les perms sur les répertoires / usr / local et brew pour être accessible à toute personne membre du groupe «admin».
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
C'est une meilleure solution que la réponse choisie, car si vous chown les répertoires / usr / local / ___ à $ USER, alors vous cassez tous les autres utilisateurs admin de homebrew sur cette machine.
Voici les tripes du script au moment où j'ai posté ceci:
la source
Sur MacOS Mojave, je n'avais pas non plus l'autorisation sur
chown
le dossier / usr / local (sudo chown -R "$USER":admin /usr/local
).sudo chown -R "$USER":admin /usr/local/*
a fonctionné pour moi cependant, modifiant les autorisations de tout dans le dossier local.J'espère que cela aidera d'autres personnes avec le même problème.
la source
En fait, c'est vraiment simple, exécutez cette commande:
brew doctor
Et il vous dira quoi faire, pour résoudre les problèmes d'autorisation, par exemple dans mon cas:
C'était le problème:
Et c'était la solution:
la source
la source
Dans mon cas, j'ai des problèmes pour supprimer et réinstaller SaltStack.
Après l'exécution:
J'ai remarqué que le propriétaire du groupe était "personnel". (BTW, j'utilise macOS Mojave version 10.14.3.) Le groupe du personnel pourrait être lié à la configuration de mon lieu de travail, mais je ne sais pas vraiment. Quoi qu'il en soit, j'ai conservé le groupe pour m'empêcher de casser quoi que ce soit.
J'ai ensuite couru:
Après cela, j'ai réussi à le supprimer avec cette commande (pas en tant que root):
la source
Si vous n'avez pas le dernier Homebrew: j'ai "corrigé" cela dans le passé en forçant Homebrew à s'exécuter en tant que root, ce qui ne pouvait être fait qu'en changeant la propriété des exécutables Homebrew en root. À un moment donné, ils ont supprimé cette fonctionnalité.
Et je sais qu'ils donneront beaucoup d'avertissements disant qu'il ne devrait pas fonctionner en tant que root, mais allez, cela ne fonctionne pas correctement sinon.
la source
J'ai tout essayé sur cette page, j'ai fini par utiliser cette solution:
brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;
Ma situation était similaire à celle de l'OP, mais mon problème était spécifiquement dû à l'exécution de sudo avec brew cask, puis à l'obtention d'un mot de passe incorrect. Après cela, j'étais coincé avec des autorisations empêchant l'installation.
la source
Pour résoudre les erreurs relatives aux autorisations Brew lors de l'exécution du dossier
Cela résoudra les problèmes et nous n'avons pas à afficher de répertoires.
la source
brew cleanup --prune-prefix
Je suis sur Catalina et j'ai eu cette erreur:
Je n'avais qu'à chown le
Homebrew
répertoirela source
J'ai utilisé ces deux commandes et enregistré mon problème
la source
essayez également d'exécuter cette commande
sudo chmod + t / tmp
la source