如何让Ruby/Homebrew/RVM在Yosemite上运行?

 yangcong 发布于 2023-01-09 11:21

安装Yosemite后,我无法运行brew或ruby.

我在brew更新时收到此错误:

/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: line 23: /usr/local/Library/brew.rb: Undefined error: 0

在irb上收到此错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:infu_mkdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:inreverse_each'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:ineach'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in mkdir_p' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:210:inwrite_gem_make_out'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:132:in build_error' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:171:inrescue in build_extension'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:156:in build_extension' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:inblock in build_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in each' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:inuse_ui'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:inblock in find_inactive_by_path'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:infind'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:intry_activate'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:150:in block in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:158:inblock in each_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:167:in each_sublocale' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:157:ineach_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:145:in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:124:infind'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:108:in load' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:32:ininitialize'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:in new' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:ininit_config'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:16:in setup' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb.rb:380:instart'
from /usr/bin/irb:12:in `'

小智.. 281

可以通过以下步骤轻松修复此错误:

1)打开终端

2)类型 nano /usr/local/Library/brew.rb

3)在第一行中将"1.8"更改为"Current",因此它应如下所示:

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

通过http://blog.ic3man.gr/2014/06/homebrew-ruby-bad-interpreter-no-such-file-or-directory/

5 个回答
  • 可以通过以下步骤轻松修复此错误:

    1)打开终端

    2)类型 nano /usr/local/Library/brew.rb

    3)在第一行中将"1.8"更改为"Current",因此它应如下所示:

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

    通过http://blog.ic3man.gr/2014/06/homebrew-ruby-bad-interpreter-no-such-file-or-directory/

    2023-01-09 11:22 回答
  • 我更新了约塞米蒂,后来发现它brew被打破了.

    /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: line 23: /usr/local/Library/brew.rb: Undefined error: 0
    

    如果您还没有对brew进行任何更改,我推荐这里.否则请阅读以下内容.

      cd /System/Library/Frameworks/Ruby.framework/Versions/

      sudo ln -s Current 1.8

      brew update

      sudo unlink 1.8

    已经对brew文件进行了更改并陷入混乱?

    我试图编辑,/usr/local/Library/brew.rb但我的git仓库的本地更改阻止brew update了更新.我尝试了本页和其他网站上提到的其他一些解决方案,我最终得到了一个混乱,我想要做的就是撤消我所做的所有酿造工作.

    我做出了改变,但事情变得更糟.最终我不得不撤消我的提交,git reset --hard HEAD~1直到我处于正确的提交状态.我的版本的文件,乱七八糟太(我改变文件的权限在/ usr /本地),所以我做了git clean -f -d它删除了所有版本的文件和目录,并让我回到我开始之前,我所做的任何更改.

    2023-01-09 11:22 回答
  • 编辑脚本意味着brew update不起作用; 对跟踪文件进行本地编辑会导致git pull失败.

    我这样做了,我怀疑它更干净:

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

    没有投诉brew doctor.

    2023-01-09 11:24 回答
  • 修复它的步骤:

      安装Xcode 6的命令行工具

      重新安装brew:

      ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      

      一旦安装brew,rvm将起作用:

      rvm install ruby
      

    为我工作,雅虎!

    2023-01-09 11:24 回答
  • 这是来自其他人帖子的答案以及对谷歌的一些挖掘的集合,但我想我会把它放在一起,所以一个完整的答案就在一个地方.具体来说,这可以让事情现在起作用,但也可以让你像往常一样刷新更新,让一切恢复干净.

      打开/usr/local/Library/brew.rb(emacs/vi/nano /等)

      将第一行更改为:#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0.你只是将那行中的"1.8"改为"当前"(确保你保留大写"C",否则git会在以后混淆).

      cd $(brew --repository)

      git add Library/brew.rb

      git commit -m "upgrading to ruby 2.0"

      brew update(或者sudo brew update如果您的brew设置为仅使用sudo进行系统更改)

    信用:很多都来自这里,但我真的建议git commit -am你不要在你的/ usr/local文件夹中做.

    2023-01-09 11:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有