ruby 为什么会出现“ERROR:执行gem时...(Gem::FilePermissionError)"?

e5nqia27  于 2022-11-04  发布在  Ruby
关注(0)|答案(3)|浏览(279)

I uninstalled RVM,并使用single user installation重新安装,其中使用:

\curl -L https://get.rvm.io | bash -s stable

当我执行bundle时,它会提示:

Enter your password to install the bundled RubyGems to your system:

我尝试使用“ERROR: While executing gem … (Gem::FilePermissionError)“中的答案,但没有修复。
然后,在尝试手动安装gem时,我得到了:

Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.

则运行gem install nokogiri -v '1.6.0'返回:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /Library/Ruby/Gems/1.8 directory.

我在SO上查了所有类似的帖子,但都没有解决问题。我错过了什么?

qvk1mo1f

qvk1mo1f1#

安装RVM后,还需要执行以下几个步骤:
1.将RVM加载到当前shell:

source ~/.rvm/scripts/rvm

通常,如果您关闭并再次打开终端,则不需要执行此操作
1.安装Ruby:

rvm install ruby

1.使用Ruby:

rvm use ruby

最后一步非常重要,因为您的错误消息提到系统ruby,而不是由RVM控制的系统。

lsmepo6l

lsmepo6l2#

请确保使用以下命令更新系统rubygems:sudo gem update --system --no-user-install .

bundler请使用它而不是您本地版本,您bundler版本可能与您系统rubygems不兼容

它对我有效;)

olqngx59

olqngx593#

我花了很多时间在我的MacBook上修复这个问题。X1M0N1X对我不起作用。
最后,将下面的代码放入~/.zshrc文件并创建一个新的zsh会话对我来说是有效的。

export GEM_HOME="$HOME/.gem"
export GEM_PATH="$HOME/.gem"

相关问题