【问题标题】:Gem FilePermissionError due to wrong Ruby versionGem FilePermissionError 由于错误的 Ruby 版本
【发布时间】:2019-08-20 18:01:50
【问题描述】:

在我的 Mac 上,我遇到了 Ruby 版本的问题。这很可能是我得到“权限被拒绝”错误的原因(对于我尝试在我的 Mac 上设置的持续集成管道)以及其他问题......

我尝试在我的 macOS 上安装最新的 Ruby 版本。

我的步骤:

rbenv install -l

(我可以看到 2.6.2 是最新版本,所以我继续这个......)

rbenv install 2.6.2

rbenv global 2.6.2

gem update --system

在这一步之后,我得到以下错误:

Updating rubygems-update
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

rbenv versions 给出 2.6.2(如预期)

ruby --version 提供 ruby​​ 2.3.7p456(2018-03-28 修订版 63024)[universal.x86_64-darwin18]

两者不匹配!

你知道这个 FilePermission-Error 是什么意思以及如何克服这个吗?由于 Ruby 版本不匹配,我该如何摆脱这个 FilePermission-Error ??

【问题讨论】:

  • 哦,我不知道这一点。无论如何,使用the help of this post(即使用chruby)我终于能够在我的Mac上安装一个新的ruby版本。这消除了我之前处理的 ruby​​ 版本不匹配和“权限被拒绝”错误。所以我想,rbenv 一开始并不是真正需要的。真正的原因是 ruby​​ 版本不匹配。一般来说,您知道在 Mac 上更改 Ruby 版本是否是个好主意吗? (看来 MacOS 不是很喜欢这个)。谢谢。

标签: ruby macos rubygems file-permissions gitlab-ci


【解决方案1】:

尝试先运行rbenv rehashdocumentation here

【讨论】:

  • this post 的帮助下(即使用chruby),我终于能够在我的Mac 上安装一个新的ruby 版本。这消除了我之前处理的 ruby​​ 版本不匹配和“权限被拒绝”错误。所以我想, rbenv 一开始并不是真正需要的。还是您的rbenv rehash 提案与我对chruby 所做的一样?真正的原因是 ruby​​ 版本不匹配。一般来说,您知道在 Mac 上更改 Ruby 版本是否是个好主意吗? (看来 MacOS 不是很喜欢这个)。谢谢。
  • @iKK churby、rvm 和 rbenv 都是 Ruby 版本管理器,各有优缺点。您应该只使用其中之一。通过使用版本管理器,您不必弄乱操作系统系统 ruby​​,也不应该。
  • github.com/rvm/rvmgithub.com/rbenv/rbenv 也得到了高度维护,但我看到 churby 的最后一次提交是 2017 年...github.com/postmodern/chruby
猜你喜欢
  • 2013-09-07
  • 1970-01-01
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 2018-11-16
相关资源
最近更新 更多