使用brew时出现“错误的解释器”错误

时间:2012-01-14 19:12:08

标签: ruby-on-rails ruby macos homebrew

当我尝试运行任何brew命令时,我收到此错误。

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

我完全不知道如何解决这个问题并且长时间没有回答。

12 个答案:

答案 0 :(得分:62)

我收到了这个错误(大致相同):

  

/ usr / local / bin / brew:/usr/local/Library/brew.rb:/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby:bad interpreter:没有这样的文件或目录   / usr / local / bin / brew:第26行:/usr/local/Library/brew.rb:未定义错误:0

并通过以下解决方案修复:

  1. 打开brew.rb

    $ sudo vim /usr/local/Library/brew.rb
    
  2. 将第一行1.8更改为Current

    在:

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

    后:

    #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
    
  3. 然后brew适合我。如果任何其他人得到这个问题,希望它有所帮助。 :)


    如果收到错误

      

    Homebrew需要Leopard或更高版本。有关Tiger支持,请参阅:   https://github.com/mistydemeo/tigerbrew

    将MACOS检查从{​​{1}}更改为<10.5

    提示@TimCastelijns:

      10.5不起作用,因为相比之下,它高于10.10(.1 vs .5)。我添加了一张支票(<10),而不是从10.5降到10。

答案 1 :(得分:43)

你得到的东西意味着Homebrew无法在指定的位置找到Ruby解释器。

安装Apple Developer Kit(附带Xcode),作为可选安装,您可以使用它(或者您只需从Apple下载)。这将为您安装Ruby解释器。

如果您已经安装了Xcode,这意味着其中一件事情正在发生:

  1. 您的Ruby安装已损坏
  2. 您有多个Ruby安装
  3. 您的安装配置不正确。
  4. 要确定这是否是第一种情况,您可以运行ruby并查看是否收到任何回复。

    如果不这样做,您的安装就会中断,需要重新安装。如果您这样做,则运行which ruby。这应该为您提供Ruby可执行文件的绝对路径。如果这不是/usr/bin/ruby,那么自制软件(和许多其他程序)将无法找到它。

    如果您没有篡改过Ruby安装,可以查看/usr/bin/ruby是否已经存在:cat /usr/bin/ruby。如果获得No 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版本不好。

    快速修复可能正在更新您的Homebrew:

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

    如果这样做无效,您可能需要亲自动手并通过以下方式手动解决问题:

    1. brew.rb
    2. 修改/user/local/Library/brew.rb
    3. 在第一行中将/1.8/更改为/Current/,这将导致hashbang指向当前Ruby版本作为执行者
    4. 如果这也没有帮助,您也可以修改MACOS检查并将其从 10.5 更改为 10 以避免臭名昭着的“Homebrew要求”豹或更高的“错误。

      <强>声明

      感谢下面答案中的其他贡献者及其评论者。我不是抄袭剽窃,只是将答案汇总成一篇综合文章来帮助他人。

答案 2 :(得分:9)

修正:

sudo gem install cocoapods

答案 3 :(得分:7)

这是因为我需要更新brew - 在更新版本中它已经使用了当前的ruby

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

这解决了问题

答案 4 :(得分:5)

冒着过度简化的风险,尝试运行

gem install bundler

我正在将我的Ruby环境从RBENV转换到RVM,它对我有用。

答案 5 :(得分:4)

您需要更改Ruby.Framework的路径

我用提到的命令解决了它。

  1. brew install cocoapods --build-from-source

  2. brew link --overwrite cocoapods

如果您的版本低于Xcode 11,则必须先删除它,然后才能使用上述命令。

参考:Ruby Framework issue

答案 6 :(得分:0)

以上都不适合我,所以我一直在浏览并找到了这个答案, https://stackoverflow.com/a/24225960/1359088 这确实为我修好了。他说在步骤1中安装了XCode 6命令行工具,但没有说明如何;使用此命令:

xcode-select --install

答案 7 :(得分:0)

升级到macOS High Sierra后,请使用以下命令对其进行修复:

sudo gem install cocoapods

答案 8 :(得分:0)

在我看来,fastlanebrew install fastlane系统的安装不正确,没有为fastlane编写正确的路径。我用alias fastlane=~/.fastlane/bin/fastlane

修复了它

答案 9 :(得分:0)

我用提到的命令解决了它。

1。)卸载GEM。

gem unistall GEM

2。)然后安装您的GEM。

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

答案 10 :(得分:0)

在升级的MacOS上使用bad interpreter: No such file or directoryxcpretty时出现xcpretty-travis-formatter错误。

解决

gem install xcpretty
gem install xcpretty-travis-formatter

这就是为什么我建议您重新安装失败的组件gem install <name>

的原因
#For example error looks like
/usr/local/bin/xcpretty-travis-formatter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

#use
gem install xcpretty-travis-formatter

答案 11 :(得分:-1)

我更新到MacOSX High Sierra&amp;使用Xcode 9。高Sierra更新ruby gem到版本2.3但xcpreety命令Xcode 9仍然使用Ruby 2.0,现在无法找到&amp;给错误的翻译。 只需前往Terminal&amp;运行

sudo gem install xcpretty

重新启动Xcode&amp;做新鲜干净的建筑它适合我。 希望它有所帮助!!!