RVM:无法安装ruby

时间:2014-09-09 17:13:16

标签: ruby-on-rails ruby macos rvm

我无法用Ruby做些什么,所以我决定删除有关Ruby 的所有内容(即使是默认的osx ruby​​,这意味着ruby -v表示找不到ruby命令)并从头开始。现在我甚至无法安装Ruby,Google也没有帮助我。

我现在所拥有的:已安装的RVM。

我想要的是什么:使用rvm install 2.1.1

安装ruby

问题: rvm install 2.1.1抛出下一个错误

Error running 'requirements_osx_brew_update_system ruby-2.1.1',
showing last 15 lines of /Users/volodymyr/.rvm/log/1410282497_ruby-2.1.1/update_system.log
    https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.'
++ rvm_pretty_print stderr
++ case "${rvm_pretty_print_flag:=auto}" in
++ case "${TERM:-dumb}" in
++ case "$1" in
++ [[ -t 2 ]]
++ return 1
++ printf %b 'Failed to update Homebrew, follow instructions here:
    https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.\n'
Failed to update Homebrew, follow instructions here:
    https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.
++ return 1
Requirements installation failed with status: 1.

我认为重要:当我sudo brew update时,我

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

2 个答案:

答案 0 :(得分:2)

不要卸载您的系统Ruby

永远不要卸载您的系统Ruby。那种方式就是疯狂。 RVM,rbenv和chruby都存在,所以无论系统上有什么,你都可以选择自己的Ruby,但删除 system 包只会让你痛苦......正如你所发现的那样。

如果你已经完成了它

由于您已经卸载了系统Ruby,因此您不能使用像Homebrew这样的系统来安装Ruby或其依赖项,因为Homebrew首先需要Ruby。相反,您要么必须从某个地方获取二进制文件,要么使用不依赖于Ruby的包管理器。例如,我使用(并推荐)MacPorts

Ruby on OS X Mavericks的最新系统是ruby 2.0.0p451 (2014-02-24 revision 45167),因此一旦安装了MacPorts,您就可以运行sudo port install ruby20,然后您就可以访问Ruby 2.0.0-p481,它应该是足够接近大多数目的。

您可能还想检查Ask Different以了解如何在没有完全重新安装的情况下重新安装真正的系统Ruby,如果您仍然遇到问题,但安装了Ruby 2.0.0的MacPorts至少应该允许您运行大多数事情都没有检查Ruby的硬编码位置。您的里程可能会有所不同。

答案 1 :(得分:1)

你应该真正替换系统ruby安装,因为很多东西都取决于那里的安装。如果您绝对需要解决方法,可以编辑位于/usr/local/Library/brew.rb中的brew.rb文件,并更改shebang行(顶部的#!行)以指向您的自定义ruby位置。