0

任何 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,2Stackoverflow Windows7,3Bundler 问题 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

4

1 回答 1

0

似乎 ruby​​gems 版本 2.5.1 有一些问题。我安装了 ruby​​gems 版本 2.4.5.1 附带的旧 ruby​​ 版本 2.2.5。

使用brew install ruby,brew uninstall ruby来解决问题 (Errno::EINVAL)。

gem env RubyGems Environment: - RUBYGEMS VERSION: 2.4.5.1 - RUBY VERSION: 2.2.5 (2016-04-26 patchlevel 319) [x86_64-darwin15] - INSTALLATION DIRECTORY: /Users/ashok.meena/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0 - RUBY EXECUTABLE: /Users/__username__/.rbenv/versions/2.2.5/bin/ruby - EXECUTABLE DIRECTORY: /Users/__username__/.rbenv/versions/2.2.5/bin - SPEC CACHE DIRECTORY: /Users/__username__/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /Users/__username__/.rbenv/versions/2.2.5/etc - RUBYGEMS PLATFORMS: - ruby - x86_64-darwin-15 - GEM PATHS: - /Users/__username__/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0 - /Users/__username__/.gem/ruby/2.2.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: - /Users/__username__/.rbenv/versions/2.2.5/bin - /usr/local/Cellar/rbenv/1.0.0/libexec

于 2016-10-05T17:37:54.473 回答