Je reçois cette erreur lorsque j'essaie d'exécuter une commande d'infusion.
Holger-Sindbaeks-MacBook-Air:~ holgersindbaek$ brew help
-bash: /usr/local/bin/brew: /usr/bin/Ruby: bad interpreter: No such file or directory
Je ne sais absolument pas comment résoudre ce problème et je cherche depuis longtemps sans réponse.
Ce que vous obtenez signifie qu'Homebrew n'a pas été en mesure de localiser l'interpréteur Ruby à l'emplacement spécifié.
Installez le kit de développement Apple (fourni avec Xcode) qui devrait vous être proposé en option (ou vous pouvez simplement le télécharger à partir d’Apple). Cela installera l’interprète Ruby pour vous.
Si Xcode est déjà installé, cela signifie que l'une des choses suivantes se produit:
Pour identifier s'il s'agit du premier cas, vous pouvez exécuter Ruby
et voir si vous obtenez une réponse.
Sinon, votre installation est défectueuse et vous devez la réinstaller. Si vous le faites, vous exécutez alors which Ruby
. Cela devrait vous donner le chemin absolu vers votre exécutable Ruby. S'il ne s'agit pas de /usr/bin/Ruby
, homebrew (et plusieurs autres programmes) ne pourra pas le trouver.
Si vous n'avez jamais altéré votre installation Ruby, vous pouvez vérifier si /usr/bin/Ruby
existe déjà ou non: cat /usr/bin/Ruby
. Si vous obtenez No such file or directory
, vous pouvez facilement créer un lien symbolique vers votre installation Ruby. En supposant que la sortie de which Ruby
à par /usr/local/bin/Ruby
, vous créez le lien symbolique de cette façon: Sudo ln -s /usr/local/bin/Ruby /usr/bin/Ruby
et tout devrait bien se passer.
Si un fichier se trouve à cet emplacement, vous pouvez exécuter file /usr/bin/Ruby
pour voir s'il s'agit d'un fichier réel, d'un lien symbolique ou d'un fichier corrompu. S'il s'agit d'un lien symbolique, votre installation devrait fonctionner et, comme ce n'est pas le cas, il s'agit probablement d'un lien symbolique corrompu ou d'un fichier factice.
Vous pouvez remédier à cela en le supprimant d'abord (Sudo rm /usr/bin/Ruby
) puis en créant un nouveau lien symbolique vers l'emplacement correct (Sudo ln -s /usr/local/bin/Ruby /usr/bin/Ruby
).
Si ce n’est pas le cas, vous devriez consulter l’équipe homebrew après une nouvelle installation de Xcode et l’élimination de toute trace d’une installation Ruby sur votre système.
MODIFIER
Alternativement, comme indiqué dans les autres réponses, le problème peut être dû à une mauvaise version de Ruby dans vos paramètres Homebrew.
Une solution rapide pourrait être de mettre à jour votre Homebrew:
cd /usr/local
git pull -q Origin refs/heads/master:refs/remotes/Origin/master
Si cela ne vous aide pas, vous voudrez peut-être vous salir les mains et résoudre le problème manuellement en:
brew.rb
à partir de /user/local/Library/brew.rb
/1.8/
par /Current/
dans la première ligne, ce qui fera pointer hashbang sur la version actuelle de Ruby en tant qu'exécuteurSi cela ne résout pas le problème, vous pouvez également modifier le contrôle MACOS
et le remplacer de 10.5 à 10 pour éviter la fameuse erreur «Homebrew requiert Leopard ou une version ultérieure».
AVERTISSEMENT
Un grand merci à d'autres contributeurs dans les réponses ci-dessous et à leurs commentateurs. Je ne commets pas de plagiat, je regroupe simplement les réponses en un seul article intégré pour aider les autres.
J'ai cette erreur (à peu près la même chose):
/ usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby: interprète incorrect: Aucun fichier ni répertoire de ce type/usr/local/bin/brew: ligne 26: /usr/local/Library/brew.rb: erreur non définie: 0
et fixé par la solution ci-dessous:
Ouvrez brew.rb
:
$ Sudo vim /usr/local/Library/brew.rb
Modifiez la 1.8
de la première ligne en Current
:
Avant:
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby -W0
Après:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/Ruby -W0
Alors brew
fonctionne pour moi. J'espère que ça aide si quelqu'un d'autre a ce problème. :)
Si vous obtenez l'erreur
Homebrew nécessite Leopard ou supérieur. Pour le support Tiger, voir: https://github.com/mistydemeo/tigerbrew
remplacez la vérification MACOS de <10.5
par <10
.
Conseil de @TimCastelijns:
10.5 ne fonctionne pas car en comparaison, il est supérieur à 10.10 (.1 vs .5). J'ai ajouté un chèque (
and MACOS_VERSION != 10.10
) au lieu d'abaisser de 10,5 à 10.
Réparer:
Sudo gem install cocoapods
Cela s’est produit parce que j’avais besoin de mettre à jour brew. Dans la version mise à jour, il utilise déjà Current Ruby.
cd /usr/local
git pull -q Origin refs/heads/master:refs/remotes/Origin/master
Cela a résolu le problème
Au risque de trop simplifier les choses, essayez de courir
gem install bundler
Je faisais la transition de mon environnement Ruby de RBENV à RVM et cela a fonctionné pour moi.
Après la mise à niveau vers macOS High Sierra, réglez-le avec les commandes suivantes:
Sudo gem installer des cocoapods
Tout ce qui précède n'a pas fonctionné pour moi, j'ai donc continué à naviguer sur Internet et j'ai trouvé la réponse suivante: https://stackoverflow.com/a/24225960/1359088 À l'étape 1, il dit d'installer les outils de ligne de commande XCode 6, mais il ne dit pas comment; utilisez cette commande:
xcode-select --install