21

尝试使用 rvm 安装 gem 时出现此错误

$ rvm gem install sproutcore
ERROR:  While executing gem ... (Errno::EACCES)
Permission denied - /home/tee/.gem/specs

但它在 rvm 网站上说你不应该使用 sudo 所以我不确定我的设置有什么问题

当我输入 $GEM_HOME 时,它显示该目录指向 rvm 目录

$GEM_HOME
bash: /home/tee/.rvm/gems/ruby-1.8.7-p302: is a directory

任何想法我做错了什么?

4

5 回答 5

19

您的 .gem 文件夹存在权限问题。确保所有者是您当前的用户。

sudo chown -R tee /home/tee/.gem

如果它不起作用,请删除 .gem 文件夹。它会在您更新 gem 缓存时自动创建。

另外,请确保您从未将 sudo 与 rvm 一起使用。

于 2010-10-04T17:35:00.650 回答
15

我遇到了同样的问题。我重做了这个命令

用户 $ 源 ~/.rvm/scripts/rvm

从一个新的终端窗口(在安装 rvm 时建议,并且在我安装 rvm 时可能被忽略),之后一切似乎都很好

于 2014-01-06T20:31:29.650 回答
7

http://rvm.io/set/gem/

要不就

$ rvm <ruby_version>
$ gem 安装发芽代码

这绝对应该有效。

于 2010-10-04T08:35:43.333 回答
2

它可能不是正确的做事方式,但我发现使用 rvmsudo 解决了这个问题,例如

rvmsudo gem 安装 rails

于 2010-10-05T06:39:02.167 回答
2

我遇到了同样的问题,因为 RVM 是全局安装在 /usr/local/rvm 中的,所以它没有在 ruby​​ 目录中安装 gems 的权限。

解决方法是使用单用户安装,这会将您的 rvm 安装在用户的主目录 (~/.rvm) 中,因此它将拥有安装 gemsets 和 gems 的所有必要权限。

如果您想更好地了解主题,请阅读https://rvm.io/rvm/install。您将看到建议使用单用户安装。

于 2013-06-04T12:50:07.207 回答