错误:执行gem时出错...(Gem :: FilePermissionError)

3
$ gem install passenger
Fetching: passenger-4.0.5.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Users/snowcrash/.rvm/gems/ruby-2.0.0-p195 directory.
$ ls -ld /Users/snowcrash/.rvm/gems/ruby-2.0.0-p195
drwxrwsr-x  8 root  rvm  272 21 May 16:07 /Users/snowcrash/.rvm/gems/ruby-2.0.0-p195

很明显,我的Ruby版本是由root / rvm拥有的。

我不满意这个SO答案,它建议将.gem/specs设置为全局可写: Permission denied error with RVM

而这个SO答案是针对特定的gem: Error while executing gem...Permission Denied

有更好的建议吗?

也许修复.rvm目录上的权限/所有权是一个选择?

3个回答

11

RVM有一个命令可以修复权限:

rvm get head
rvm fix-permissions

这个解决方案如何帮助解决FilePermissionError问题? - Selvakumar Esra
rvm fix-permissions 重置 RVM 目录结构内所有文件/目录的访问权限,并且所有 gem 都会被安装在 $rvm_path/gems/... 中。 - mpapis

0
您可以尝试使用以下命令获取.rvm目录的所有权:
sudo chown -R groupname:username /Users/username/.rvm

其中,username是您的用户登录名。groupname是可选项。


0

运用“简单即是美”的原则,显而易见的答案是:

sudo gem install passenger

如果你开始使用rvm或者rbenv,那么你就会走上额外复杂性的道路。

然后你就会遇到它们所造成的所有问题。


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