Ruby企业版的新安装 - “gem”被认可,但“sudo gem”却没有

时间:2011-02-13 23:42:56

标签: ruby ubuntu ruby-enterprise-edition

我刚刚在新的Ubuntu 10.04服务器上安装了Ruby Enterprise Edition。我去安装我的第一颗宝石,并遇到了一个我以前从未见过的奇怪问题。

没有sudoing,如果我只输入'gem',我会得到关于gem的模糊信息。我可以切换到root并执行gem install gemname或给出gem exe的完整路径,但如果我sudo gem install gemname我得到一个奇怪的错误sudo: gem: command not found

如果我在没有sudo的情况下gem install gemname,它告诉我我没有权限更改gem文件夹(这是公平的)。当我sudo时,看起来好像很有趣。

我已经在我的.bashrc文件中添加了我的PATH变量的Ruby bin路径,如下所示:

export PATH=/opt/ruby-enterprise-1.8.7-2011.01/bin:$PATH

然后用source重新加载.bashrc。任何想法,任何人?

4 个答案:

答案 0 :(得分:0)

尝试sudo -s,然后gem install gemname

长答案 .bashrc文件只影响你所在的bash shell,而sudo不知道它,因为sudo不会直接查看你的.bashrc。您可以使用sudo -s来解决此问题。您还可以使用sudo -E在运行sudo命令时尝试保留环境。

使用/ etc / profile更改PATH而不是.bashrc也可以。

答案 1 :(得分:0)

这是sudo的问题,因为ken.li156提到sudo不保留你的$ PATH变量,请点击此处了解更多信息:sudo changes PATH - why?

在/ etc / profile中放置更新的PATH导出应允许所有用户(包括通过sudo运行的命令)查看REE bin目录。

答案 2 :(得分:0)

试试这个:

gem install sqlite3-ruby

答案 3 :(得分:0)

如果您使用的是RVM,请使用rvmsudo gem install gemname