需要使用Root来做“gem update --system”

时间:2011-09-05 16:25:46

标签: ruby-on-rails ubuntu gem command-line-interface

Runnin 10.04 64位Ubuntu。我有一个部署用户,没有“捆绑安装”的问题,但必须更新宝石并尝试这个:

deploy@pluto:/opt/ruby/bin$ gem update --system

错误:

Updating rubygems-update
Fetching: rubygems-update-1.8.10.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /opt/ruby/lib/ruby/gems/1.8 directory.

尝试使用sudo:

deploy@pluto:/opt/ruby/bin$ sudo gem update --system
[sudo] password for deploy: 
sudo: gem: command not found

然后以root身份登录,没问题!?

root@pluto:/opt/ruby/bin# gem update --system
Updating rubygems-update
Fetching: rubygems-update-1.8.10.gem (100%)
Successfully installed rubygems-update-1.8.10
Installing RubyGems 1.8.10
RubyGems 1.8.10 installed

这是我的$ PATH变量有没有sudo,任何想法有什么不对?

deploy@pluto:~$ echo 'echo $PATH' | sudo sh
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

deploy@pluto:~$ echo $PATH
/opt/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

1 个答案:

答案 0 :(得分:0)

您不需要sudo来安装宝石。看起来当你第一次安装Ruby / Rails时,你使用了sudo。这会将ruby / rails安装在home文件夹的兄弟文件夹中。有多个资源告诉你如何在Ubuntu盒子上设置Ruby / Rails只对我有用的资源(我按照这些说明在4个Ubuntu盒子上安装Rails)是Toran Billups文章here。仔细阅读,你应该有一个良好的环境设置。