Comment réparer brew après la mise à niveau d'OSX vers Yosemite?

181

J'ai rencontré un problème avec Homebrew. Je suis passé à Yosemite. Après la mise à niveau, l'homebrew semble être en panne.

Je voudrais exécuter une commande d'infusion et obtenir cette erreur

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0

Comment le résoudre?

Ranjith Ramachandra
la source
Je viens de mettre à niveau de Mac OS X 10.8 à 10.10 (Yosemite), et l'homebrew fonctionne bien après la mise à niveau. Soit ce problème était résolu, soit il y avait quelque chose de différent dans la mise à niveau de mon système d'exploitation par rapport à tous les autres postés ici.
Yitz

Réponses:

239

J'ai décidé de regarder cela et j'ai trouvé qu'il y avait un problème . Le problème est fermé, mais il n’est pas possible de simplement l’exécuter brew updatecar vous obtiendrez toujours la même erreur.

Alors voici ce que vous devez faire:

cd /usr/local/Library
git pull origin master

Au cas où vous auriez des modifications dans le répertoire (/ usr / local / Library), le git pull générera une erreur. Dans ce cas, vous devrez récupérer la branche master et la définir de force en tant que master:

git fetch --all
git reset --hard origin/master

Cela améliorera votre homebrew et vous pourrez utiliser à nouveau la préparation.

Si vous avez installé Homebrew en tant qu'utilisateur non root, vous devrez le faire cdà la /Users/yourusername/homebrew/Libraryplace de /usr/local/Library.

Ranjith Ramachandra
la source
20
Encore une autre raison pour laquelle j'aime avoir un gestionnaire de paquets construit sur git :)
spinlock
3
Exactement. Un logiciel d'amour qui fonctionne simplement à partir de la source et peut être mis à niveau avec git pull
Ranjith Ramachandra
7
Bizarre, je reçois ce message fatal: Pas un dépôt git (ni aucun des répertoires parents): .git
Gabriel R.
2
Je reçois cette erreur:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit
6
Essayezsudo git pull origin master
Ranjith Ramachandra
48

J'ai trouvé cette solution :

Ce lien le décrit bien, mais au cas où le lien tomberait, voici ce que vous devez faire: Tapez ces commandes dans votre terminal:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8
Elias Zamaria
la source
2
Contrairement à la réponse acceptée, cela a réellement fonctionné.
Paul
C'est la seule chose qui a fonctionné pour moi le 10.10.3
utilisateur
Travaille également pour 10.10.4
Ralfonso le
Erreur d'abandon: Echec lors de l'exécution de: git pull -q refs / têtes / maître d'origine: refs / télécommandes / origine / maître
itsazzad
Cela a fonctionné pour moi, mais il y avait aussi une autre étape à franchir: stackoverflow.com/questions/26501126/…
JussiR le
22

La version et l'emplacement de Ruby ont changé avec la nouvelle version de Mac OS X.

Pour résoudre cela de manière générique, éditez /usr/local/Library/brew.rb.

Sur la première ligne, remplacer 1.8par Current, c'est-à-dire:

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 

à:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
Gabriel R.
la source
Cela casse brew updateparce que vous avez maintenant un changement non engagé.
Cameron Price-Austin
1
… Mais pour faire, brew updateil faut appliquer le correctif que j'ai suggéré. Je ne l'avais jamais utilisé brew updatejusqu'à présent, je n'avais même pas initialisé le référentiel. Je ne me souviens pas comment je l'ai même installé.
Gabriel R.
3

Si vous corrigez le problème de ruby ​​puis que vous rencontrez un problème qui vous dit que le système pense que vous utilisez tiger ou une version plus ancienne, la solution à ce problème est ici

Drux
la source
1

J'ai d'abord essayé la réponse la mieux notée, puis un autre problème . Après cela, j'ai en quelque sorte renoncé à le réparer car je n'avais que quelques paquets installés. Peut-être que d'autres sont dans ce bateau aussi.

Toutes ces réponses sont excellentes, mais pour moi, il était plus simple de réinstaller simplement Brew.

Tout d'abord, j'ai exécuté les instructions sur:

http://brew.sh/

qui m'a ordonné de désinstaller d'abord, et imprimé une ligne de commande. J'ai exécuté cette ligne de commande pour désinstaller, puis réinstaller, et tout allait bien.

Je ne veux pas imprimer les commandes spécifiques, car elles ont tendance à changer un peu au fur et à mesure que la bière ajuste la manière dont les choses sont installées.

dpb
la source