ruby - 如何避免 "cannot load such file -- utils/popen"来自 OSX 上的 Homebrew 软件

标签 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>'

这些是我的 gem 设置:

- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - universal-darwin-13
- GEM PATHS:
  - /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 CONFIGURATION:
  - :update_sources => true
  - :verbose => true
  - :backtrace => false
  - :bulk_threshold => 1000

最佳答案

原始答案

问题主要发生在将 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  

如果仍然不起作用,请在终端 session 中使用这些步骤,一切都会好起来的:

cd /usr/local/Homebrew
git reset --hard origin/master
brew update

如果 /usr/local/Library/Homebrew 不起作用,请尝试 /usr/local/Homebrew。问题可能是 Homebrew 已过时。

2021 年 4 月更新

上述命令不适用于 macOS High Sierra 或更高版本,如本 GitHub issue 中所述.你必须改为运行它:

sudo chown -R $(whoami) $(brew --prefix)/*

关于ruby - 如何避免 "cannot load such file -- utils/popen"来自 OSX 上的 Homebrew 软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652996/

相关文章:

css - 使用 Compass/Sass 删除附加到 Sprite 文件名的随机字符串

xcode - 我需要 Apple Developer 帐户吗?

cocoa - 将文档保存为文件夹,例如 Pages、Numbers 等

macos - 在连接到不同 GPU 的显示器上渲染时会发生什么

mysql - 无法在 Mac OS X 上安装 MySQL

ruby - 当我运行 "gem install bundler"时出现权限被拒绝错误

ruby-on-rails - 在 Rails 应用程序中运行 rake 任务

ruby - 如何从数组创建散列

ruby-on-rails - Rake任务rails :upgrade:check is not working on windows. Rails 3升级问题

ruby - 在 github 上创建和上传 gem