在linux上安装gem的权限错误

时间:2013-10-03 14:25:36

标签: ruby gem debian

似乎只有root才能使用ruby gems(?)

$ gem list

*** LOCAL GEMS ***

$ gem install json
ERROR:  While executing gem ... (Errno::EACCES)
Permission denied - /var/lib/gems/1.9.1

我没有宝石,无法安装任何宝石......

$ sudo gem install json
[sudo] password for bill: 
Building native extensions.  This could take a while...
Successfully installed json-1.8.0
1 gem installed
Installing ri documentation for json-1.8.0...
Installing RDoc documentation for json-1.8.0...

$ sudo gem list

*** LOCAL GEMS ***

json (1.8.0)                    

Root可以安装和查看gems

$ gem list

*** LOCAL GEMS ***

但我的用户看不到他们......

非root用户有没有办法在linux上使用gems?

- 解决方案 -

感谢您提出的建议我检查/var/lib/gems/1.9.1权限

我已经检查了它们,但在路上错过了/ var / lib / gems

/var/lib/gems# ls -al
total 12
drwxr-x---  3 root root 4096 Oct  3 09:13 .
drwxr-xr-x 59 root root 4096 Oct  3 09:13 ..
drwxr-xr-x  6 root root 4096 Oct  3 09:13 1.9.1

chmod o+rx /var/lib/gems/

我现在可以使用已安装的宝石

1 个答案:

答案 0 :(得分:1)

不,你不应该尝试rvm或rbenv因为它们都很可怕。 chruby非常轻巧,是最糟糕的情况。

答案是您应该需要sudo来安装系统范围的宝石。 将GEM_HOME设置为〜/ .gems或/path/to/app/.gems以安装每个用户或每个应用程序的gems