任何 gem(例如 bundler、cocoapods)的 gem install 都会失败。
$ gem install bundler
ERROR: While executing gem ... (Errno::EINVAL)
Invalid argument
背景
在运行 OSX El Capitan v10.11.6 (15G31) 的新 macbook(2015 年中)上,我开始为开发工作设置它并安装了 xcode8、brew 和 ruby。我的gem env
:
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.5.1
- RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-darwin15]
- INSTALLATION DIRECTORY: /usr/local/bin
- USER INSTALLATION DIRECTORY: /Users/__username__/.gem/ruby/2.3.0
- RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin/bin
- SPEC CACHE DIRECTORY: /Users/__username__/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.3.1_1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-15
- GEM PATHS:
- /usr/local/bin
- /Users/__username__/.gem/ruby/2.3.0
- /usr/local/lib/ruby/gems/2.3.0
- /usr/local/Cellar/ruby/2.3.1_1/lib/ruby/gems/2.3.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "-n/usr/local/bin"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Library/Frameworks/Python.framework/Versions/3.4/bin
- /Library/Frameworks/Python.framework/Versions/3.4/bin
一些现有的帖子:
许多现有的帖子都集中在另一个与 El Capitan 中的“无根”安全功能相关的类似错误上:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted
一些 Errno::EPERM 相关帖子:1:CocoaPods 问题 3680,2:Stackoverflow Windows7,3: Bundler 问题 4065
什么不起作用:
gem install
变种
$ sudo gem install bundler -n /usr/local/bin -V
将 $GEM_HOME 设置为 /usr/local/bin 和 ~/.gems。
echo $GEM_HOME
/usr/local/bin
echo $GEM_HOME
~/.gems
“无根”禁用
sudo nvram boot-args="rootless=0"; sudo reboot