全新安装Ruby企业版-“gem”公认但“sudo gem”不是

发布于 2024-10-17 03:54:43 字数 606 浏览 1 评论 0原文

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

如果没有 sudoing,如果我只输入“gem”,我就会得到有关 gem 的简介。我可以切换到 root 并执行 gem install gemname 或提供 gem exe 的完整路径,但如果我执行 sudo gem install gemname 我会收到一个奇怪的错误 sudo:gem:找不到命令

如果我在没有 sudo 的情况下进行 gem install gemname ,它会告诉我我没有更改 gem 文件夹的权限(这很公平)。基本上,当我 sudo 时,看起来好像发生了一些有趣的事情。

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

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

然后使用 source 重新加载 .bashrc。有什么想法吗?

I've just installed Ruby Enterprise Edition on a fresh Ubuntu 10.04 server. I went to install my first gem, and hit a weird problem I never saw before.

Without sudoing, if I just type 'gem' I get the blurb about gem. I can switch to root and do gem install gemname or give the full path to the gem exe, but if I do sudo gem install gemname I get an odd error sudo: gem: command not found.

If I do gem install gemname without sudo, it tells me I don't have permission to alter the gem folder (which is fair enough). It looks like something funny's happening when I sudo, basically.

I've added the Ruby bin path to my PATH variable in my .bashrc file, like so:

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

then reloaded .bashrc with source. Any ideas, anyone?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浅语花开 2024-10-24 03:54:43

尝试sudo -s,然后gem install gemname

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

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

try sudo -s and then gem install gemname.

Long Answer
.bashrc file only affects the bash shell you are in, and sudo does not know about it because sudo does not directly look at your .bashrc. You can use sudo -s to get around this. You can also use sudo -E to try to preserve the environment while running sudo commands.

Using /etc/profile to change your PATH instead of .bashrc can also work as well.

烈酒灼喉 2024-10-24 03:54:43

试试这个:

gem install sqlite3-ruby

Try this:

gem install sqlite3-ruby
飘过的浮云 2024-10-24 03:54:43

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

If you're using RVM, use rvmsudo gem install gemname.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文