使用rvm安装gems

23

尝试使用rvm安装gems时,我遇到了这个错误。

$ 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

有什么想法我哪里做错了吗?


3
我认为你需要执行“sudo chown -R tee /home/tee/.gem/”命令。该命令的作用是更改位于“/home/tee/.gem/”目录下的文件和文件夹的所有者为用户“tee”。 - hellvinz
请注意,"rvm gem ..."已被移除。请改用"rvm all do gem install GEMNAME"。 - kraftydevil
正是我需要的解决方案,@kraftydevil...为什么不把你的评论发表为答案呢 :) - pesho hristov
5个回答

20

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

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

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

另外,请确保您从未在rvm中使用sudo命令。


这解决了我的问题。我必须执行 sudo chown -R username /Users/username/.gem 然后我才能运行 gem install cocoapods - Francois

15
我遇到了同样的问题。我重新执行了这个命令:
source ~/.rvm/scripts/rvm

从一个新的终端窗口开始(在安装rvm时建议的,可能在我安装rvm时被忽略了),之后一切似乎都很顺利。

9

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

或者只需执行以下命令:

$ rvm <ruby版本号>
$ gem install sproutcode

这应该绝对可行。


2

这可能不是正确的做法,但我发现使用rvmsudo可以解决此问题,例如:

rvmsudo gem install rails


2
我遇到了相同的问题,因为 RVM 是全局安装的,位于 /usr/local/rvm ,所以它没有权限在 ruby 目录中安装 gem 。
解决方法是使用单用户安装,这将在您的用户主目录(~/.rvm)中安装 rvm,因此它将拥有安装 gemsets 和 gems 所需的所有必要权限。
如果您想更好地了解该主题,请阅读 https://rvm.io/rvm/install 。您将看到单用户安装是推荐的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接