当我尝试运行任何brew命令时,我收到此错误。
Holger-Sindbaeks-MacBook-Air:~ holgersindbaek$ brew help
-bash: /usr/local/bin/brew: /usr/bin/ruby: bad interpreter: No such file or directory
我完全不知道如何解决这个问题并且长时间没有回答。
答案 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
并通过以下解决方案修复:
打开brew.rb
:
$ sudo vim /usr/local/Library/brew.rb
将第一行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
然后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,这意味着其中一件事情正在发生:
要确定这是否是第一种情况,您可以运行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
如果这样做无效,您可能需要亲自动手并通过以下方式手动解决问题:
brew.rb
/user/local/Library/brew.rb
/1.8/
更改为/Current/
,这将导致hashbang指向当前Ruby版本作为执行者如果这也没有帮助,您也可以修改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的路径
我用提到的命令解决了它。
brew install cocoapods --build-from-source
brew link --overwrite cocoapods
如果您的版本低于Xcode 11
,则必须先删除它,然后才能使用上述命令。
答案 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)
在我看来,fastlane
与brew 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 directory
和xcpretty
时出现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;做新鲜干净的建筑它适合我。 希望它有所帮助!!!