自制软件不在OSX上工作

时间:2014-07-09 11:53:42

标签: ruby macos rubygems homebrew

在终端上运行brew命令时出现此错误。需要帮助解决。

 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- utils/popen (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/utils.rb:6:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/global.rb:9:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/brew.rb:16:in `<main>'

这是我的env gem设置:

  • RUBYGEMS VERSION:2.0.14
  • RUBY VERSION:2.0.0(2014-02-24 patchlevel 451)[universal.x86_64-darwin13]
  • 安装目录:/ Library/Ruby/Gems/2.0.0
  • RUBY EXECUTABLE:/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
  • EXECUTABLE目录:/ usr / bin
  • RUBYGEMS PLATFORMS:
    • 红宝石
    • 万向达尔文-13
  • GEM路径:
    • /Library/Ruby/Gems/2.0.0
    • /Users/ronaldkwan/.gem/ruby/2.0.0
    • /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
  • GEM配置:
    • :update_sources =&gt;真
    • :verbose =&gt;真
    • :backtrace =&gt;假
    • :bulk_threshold =&gt; 1000

9 个答案:

答案 0 :(得分:795)

问题主要发生在将OS X更新为El Capitan(OS X 10.11)或macOS Sierra(macOS 10.12)之后。这主要是因为El Capitan或更高版本的macOS new SIP process存在文件权限问题。尝试更改 / usr / local 目录的权限。

$ sudo chown -R $(whoami):admin /usr/local  

如果仍然无效,请使用以下步骤,一切都会好的。这可能是因为自制软件没有更新。

1. open terminal  
2. $ cd /usr/local/Library/Homebrew  
3. $ git reset --hard  
4. $ git clean -df
5. $ brew update

答案 1 :(得分:376)

首先,打开终端和cd /usr/local/以及git status,看看Homebrew是否干净。

如果脏,git reset --hard && git clean -df

然后brew doctorbrew update

如果仍然破损,请在终端中尝试:

$ sudo rm /System/Library/Frameworks/Ruby.framework/Versions/Current
$ sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/1.8 /System/Library/Frameworks/Ruby.framework/Versions/Current

这将迫使Homebrew从系统中使用ruby 1.8

答案 2 :(得分:82)

卸载自制程序:

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

然后重新安装

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

警告:此脚本将删除:/ Library / Caches / Homebrew / - thks benjaminsila

答案 3 :(得分:25)

在我的情况下,我只需删除brew可执行文件

sudo rm -f `which brew`

然后再次重新安装自制程序

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

答案 4 :(得分:24)

更新到El Capitan后,/ usr / local目录具有root:wheel权限。 将权利改回给我

sudo chown -R $(whoami):admin /usr/local

brew doctor && brew update

帮助我重新开始酿造。

答案 5 :(得分:8)

首先我执行了......

sudo chown -R $(whoami):admin /usr/local

则...

cd $(brew --prefix) && git fetch origin && git reset --hard origin/master

答案 6 :(得分:3)

此问题应在最新版本的自制程序中修复。只是尝试重新安装自制软件。这里有如何描述:Homebrew Homepage

答案 7 :(得分:0)

在我看来,您好像缺少popen的标头文件,这是C系统库。

检查是否已使用命令行工具成功安装xcode并接受了许可证。

Xcode - install Command Line Tools

答案 8 :(得分:0)

要恢复您的Homebrew设置,请尝试以下操作:

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull