3 votes

Homebrew refuse de fonctionner sur MacOS Sierra

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.

8voto

foobar Points 241

Pour la vue d'ensemble : J'ai résolu le problème en désinstallant homebrew puis en le réinstallant à nouveau. Afin d'aider les gens à mieux comprendre, je vais entrer dans les détails.

En recherchant le message d'erreur sur Internet, ma première intuition était que cela avait quelque chose à voir avec les autorisations. Vérifiez une discussion sur Reddit ou sur le Homebrew GitHub pour référence. Cependant, l'exécution sudo chown -R $(whoami) /usr/local n'a pas fait l'affaire. Dans tous les cas, je vous conseille d'être très prudent en utilisant cette commande car elle transfère la propriété de /usr/local de l'utilisateur Root à vous-même, ce qui, apparemment, n'était pas prévu par Apple. Vous pouvez annuler cela en exécutant

sudo chmod 0755 /usr/local
sudo chown root:wheel /usr/local

Cependant, notez que cela ne l'annulera que pour le dossier /usr/local et non de manière récursive pour tous ses fichiers.

Il ne me restait donc plus qu'à désinstaller. Si vous voulez faire la même chose, tapez

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

afin d'exécuter le script officiel ou de voir l'application FAQ Homebrew à titre de référence. Sachez que cela désinstallera également toutes vos formules et que vous devrez les réinstaller manuellement par la suite.

Pour réinstaller homebrew, il suffit d'exécuter

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Si quelqu'un trouve la raison pour laquelle j'ai eu cette erreur en premier lieu ou comment l'adresser directement, merci de me le faire savoir.

0 votes

J'ai eu la même erreur lorsque j'ai essayé de mettre à jour mon homebrew avec Ansible après la mise à niveau vers Sierra. Jusqu'à ce que je trouve votre post, je pensais que le module Ansible causait le problème, maintenant il semble être lié à homebrew lui-même. Avez-vous exécuté brew update après avoir installé Sierra ?

0 votes

Merci pour cela ! Juste un petit point au cas où cela se produirait pour quelqu'un d'autre - lors de l'exécution de la désinstallation script, les dossiers sous /usr/local/ n'ont pas été supprimés après la désinstallation de brew. Cela a ensuite causé des problèmes avec la nouvelle installation. J'ai donc dû supprimer manuellement ces dossiers avant d'exécuter l'install script, et tout a fonctionné ensuite !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X