web-dev-qa-db-ja.com

brewの使用時に「悪いインタープリター」エラーが発生する

Brewコマンドを実行しようとすると、このエラーが発生します。

Holger-Sindbaeks-MacBook-Air:~ holgersindbaek$ brew help
-bash: /usr/local/bin/brew: /usr/bin/Ruby: bad interpreter: No such file or directory

私はこれをどのように修正するのか全くわからないので、答えなしで長い間探していました。

取得しているのは、HomebrewがRuby interpretterを指定された場所に配置できなかったということです。

インストールApple開発者キット(Xcodeに付属))オプションのインストールとして利用できる必要があります(またはAppleから簡単にダウンロードできます)。これによりRubyあなたのための通訳。

Xcodeが既にインストールされている場合、これは次のいずれかが発生していることを意味します。

  1. Rubyインストールが壊れています
  2. 複数のRubyインストールがあります
  3. インストールが正しく構成されていません。

これが最初のケースであるかどうかを確認するには、Rubyを実行して、応答があるかどうかを確認します。

そうしないと、インストールが失敗し、再インストールする必要があります。その場合は、which Rubyを実行します。これにより、Ruby実行可能ファイルへの絶対パスが提供されます。これが/usr/bin/Ruby以外の場合、自作(および他の多くのプログラム)はそれを見つけることができません。

Rubyインストールを改ざんしたことがない場合は、/usr/bin/Rubyがすでに存在するかどうかを確認できます。cat /usr/bin/RubyNo such file or directoryを取得した場合は、簡単にRubyインストール。which Rubyによる/usr/local/bin/Rubyの出力を想定して、シンボリックリンクを次のように作成します。Sudo ln -s /usr/local/bin/Ruby /usr/bin/Rubyで、すべて正常に動作するはずです。

その場所にファイルがある場合は、file /usr/bin/Rubyを実行して、それが実際のファイル、シンボリックリンク、または破損したファイルであるかどうかを確認できます。シンボリックリンクである場合、インストールは機能しているはずですが、機能していないため、破損したシンボリックリンクであるか、偽のファイルである可能性があります。

最初に削除(Sudo rm /usr/bin/Ruby)してから、正しい場所(Sudo ln -s /usr/local/bin/Ruby /usr/bin/Ruby)への新しいシンボリックリンクを作成することで、これを修正できます。

上記のいずれでも動作しない場合は、Xcodeをクリーンインストールし、システム上のRubyインストールの痕跡をすべて削除してから、自作チームに相談してください。

[〜#〜]編集[〜#〜]

または、他の回答で指摘されているように、Homebrew設定のRubyバージョンが正しくないことが原因である可能性があります。

簡単な修正はあなたの自作を更新しているかもしれません:

cd /usr/local
git pull -q Origin refs/heads/master:refs/remotes/Origin/master

これで問題が解決しない場合は、手を汚して手動で問題を修正することをお勧めします。

  1. brew.rbから/user/local/Library/brew.rbを編集する
  2. 最初の行で/1.8//Current/に変更すると、ハッシュバングが現在のRubyバージョンをexecutorとしてポイントします

これでも解決しない場合は、MACOSチェックを変更して、10.5から10悪名高い「HomebrewはLeopard以上が必要です」というエラーを回避します。

[〜#〜]免責事項[〜#〜]

以下の回答で他の貢献者とそのコメント者に感謝します。私は盗作を犯しているのではなく、単に回答を1つの統合された記事に集約して他の人を助けるために使用しています。

42
Milad Naseri

私はこのエラーを受け取りました(ほとんど同じです):

/ 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:26行目:/usr/local/Library/brew.rb:未定義エラー:0

以下の解決策で修正されました:

  1. brew.rbを開く:

    $ Sudo vim /usr/local/Library/brew.rb
    
  2. 最初の行の1.8Currentに変更します。

    前:

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

    後:

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

それからbrewは私のために働きます。他の人がこの問題を抱えている場合に役立つことを願っています。 :)


エラーが発生した場合

HomebrewにはLeopard以上が必要です。 Tigerのサポートについては、次を参照してください https://github.com/mistydemeo/tigerbrew

mACOSチェックを<10.5から<10に変更します。

@TimCastelijnsによるヒント:

10.5は、10.10より高い(0.1と.5)ため、機能しません。 10.5から10に下げる代わりに、チェック(and MACOS_VERSION != 10.10)を追加しました。

62
Kjuly

修正:

Sudo gem install cocoapods
13
Shobhit C

これは、brewを更新する必要があったために起こりました-更新されたバージョンでは、現在のRubyをすでに使用しています

cd /usr/local
git pull -q Origin refs/heads/master:refs/remotes/Origin/master

これで問題は解決しました

7
mcfedr

物事を単純化しすぎるリスクがあるので、実行してみてください

gem install bundler

私は自分のRuby環境をRBENVからRVMに移行していましたが、それは私にとってはうまくいきました。

5
Nick Sarafa

MacOS High Sierraにアップグレードしたら、次のコマンドで修正します。

Sudo gem install cocoapods

0
Balamurugan

私の場合、fastlanebrew install fastlaneで正しくインストールされていないようで、システムがfastlaneへの正しいパスを書き込めませんでした。 alias fastlane=~/.fastlane/bin/fastlaneで修正しました

0
Serg Smyk

前述のコマンドで解決しました。

1.)GEMをアンインストールします。

gem unistall GEM

2.)次に、GEMをインストールします。

Sudo gem install GEM -n /usr/local/bin

0
Dipendra Sharma

上記のどれも私にとってはうまくいかなかったので、私はブラウジングを続けてこの答えを見つけました https://stackoverflow.com/a/24225960/1359088 これは私のためにbrewを修正しました。彼はステップ1でXCode 6コマンドラインツールをインストールすると言っていますが、その方法については触れていません。次のコマンドを使用します。

xcode-select --install
0
James Toomey