【问题标题】:New installation of Ruby Enterprise Edition - "gem" recognised but "sudo gem" isn'tRuby 企业版的新安装 - 识别“gem”但不识别“sudo gem”
【发布时间】:2011-06-26 15:20:22
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: ruby ubuntu ruby-enterprise-edition


    【解决方案1】:

    尝试sudo -s,然后尝试gem install gemname

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

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

    【讨论】:

    • 感谢锡人。我尝试更改 /etc/profile 但这没有帮助。我需要重新加载吗?我尝试退出并再次打开,但没有骰子。更改为 root 确实 像我说的那样工作,但我仍然希望能够直接 sudo 它。
    【解决方案2】:

    试试这个:

    gem install sqlite3-ruby
    

    【讨论】:

    • Keating - 这似乎是另一个问题的答案,我从来没有说过关于 sqlite 的任何事情。
    • 我在使用以下命令安装 sqlite3-ruby 时出错:sudo gem install sqlite3-ruby。所以我搜索了错误,然后找到了你的标题。当我用命令完成它时:gem install sqlite3-ruby。我只是建议你试试看。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多