Hier encore, j'ai mis à jour ma machine, un MacBook Pro (mi-2010), vers MacOS Sierra. Tout semble fonctionner correctement, sauf lorsque j'essaie d'utiliser le gestionnaire de paquets homebrew avec une commande quelconque, par exemple brew help
le message d'erreur suivant est imprimé :
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/brew.rb:15:in `<main>'
Je n'ai jamais touché à quoi que ce soit en rapport avec Ruby. En faisant des recherches, j'ai remarqué qu'il semblait y avoir quelques problèmes de compatibilité avec Sierra et homebrew, mais aucun ne semblait correspondre exactement à mon problème.
1 votes
Avez-vous essayé de réinstaller homebrew ? Je me souviens avoir eu des problèmes avec lui à chaque fois que j'ai mis à jour MacOS.
0 votes
J'ai trouvé le problème sous-jacent ainsi que la réponse et je posterai un lien vers une discussion sous peu.
0 votes
Enfin, c'est ce que je pensais. Malheureusement, la solution proposée sur Reddit ne fonctionne pas pour moi. J'obtiens la même erreur même après avoir exécuté chmod et l'exécution de ceci me fait grincer des dents de toute façon.
0 votes
Avez-vous essayé ce qui suit : brew doctor
0 votes
J'obtiens la même erreur pour chaque commande de brassage, y compris celle-ci. Apparemment, Sierra a réinitialisé les droits pour /usr/local. Les versions antérieures de homebrew, cependant, ont besoin de ces droits. Ce que je n'arrive pas à m'expliquer, c'est pourquoi l'exécution de la commande
chmod
ne fait pas l'affaire pour moi.0 votes
Probablement une protection du système. J'ai trouvé cette commande dans mon historique - essayez-la peut-être ? brew uninstall --force brew-cask ; brew untap phinze/cask ; brew untap caskroom/cask ; brew update ; brew cleanup ; brew cask cleanup
0 votes
Est-il bizarre que /usr/local/Homebrew n'existe pas ? En fait, à première vue, je ne vois rien qui soit lié à homebrew, à l'exception du dossier .git et du .gitignore correspondant. Je ne suis pas en mesure de créer des fichiers/dossiers dans /usr/local lors de l'exécution, par exemple,
mkdir abc
sans sudo. Au fait, à quoi devrait ressembler la propriété des fichiers dans /usr/local ? Est-il exact que je suis censé être le propriétaire de chaque fichier et dossier et non Root ?0 votes
Donc, je suppose que c'est bizarre qu'il n'y ait pas de dossier homebrew dans /usr/local après tout. Au moins, il n'y a rien d'autre que le dossier .git et le fichier .gitignore. Si cela avait à voir avec les permissions, comme suggéré dans le lien Reddit que j'ai posté, ne devrais-je pas être capable d'exécuter
brew
les commandes avecsudo
en face de lui ?0 votes
En fait, j'en avais juste marre maintenant, alors j'ai pris la voie facile et désinstallé homebrew en utilisant le script fourni sur GitHub. Après la réinstallation, tout fonctionne bien. Je ne suis pas sûr de devoir mettre cela en tant que réponse car il ne répond pas au cœur du problème, bien qu'il résolve en quelque sorte le problème.