【问题标题】:gem --version different to sudo gem --version :(gem --version 不同于 sudo gem --version :(
【发布时间】:2011-04-11 13:27:31
【问题描述】:

我是一个 Linux 菜鸟,试图让 ruby​​、rails、mysql 和 sqlite 在 ubuntu 10 上运行良好。我遇到了错误,我意识到 sudo 和普通用户的版本不同!

mpw@ubuntu:~/.rvm/gems/ruby-1.9.2-p0$ gem --version
1.3.7
mpw@ubuntu:~/.rvm/gems/ruby-1.9.2-p0$ sudo gem --version
1.3.5

我使用 RVM 安装它,但似乎我有冲突的版本。如何解决?

【问题讨论】:

  • RVM 的优点之一是您很可能永远需要以 root 用户身份运行 gem,因为您的所有 gem 都安装在 ~/.rvm 中。
  • 我建议阅读 RVM 常见问题解答中的前两个条目:rvm.beginrescueend.com/support/faq

标签: ruby-on-rails ruby ubuntu installation rvm


【解决方案1】:

我之前也犯过同样的安装错误,但按照这些说明操作是可行的。 http://ascarter.net/2010/05/10/rails-development-on-ubuntu-10.04.html

【讨论】:

  • 从经验上讲,最好只使用 RVM 并省去使用 Ubuntu 软件包的所有麻烦。无论如何,您可能希望运行多个版本的 Ruby,其中一些版本比 Ubuntu 存储库中的版本更新。
【解决方案2】:

sudo gem --version 很可能正在使用gem 系统,即您使用rvm system 时得到的系统。这是因为 sudo 将用户更改为 root 并且您可能没有执行 sudo rvm use 1.9.2 或类似的操作。尝试使用sudo which gemwhich gem 来确认这一点。

您可以通过执行sudo gem update --system 来更新root 使用的版本。但是请注意,如果您默认不使用系统 gem 可执行文件,即 rvm use system,则在使用 sudo gemgem 时,您仍然最可能使用不同的 gem 路径。

【讨论】:

    【解决方案3】:

    请试一试

    sudo which gem 
    

    回复

    which gem 
    

    获取您正在使用的哪个 gem 的信息。 我赞同the answer above 的观点,即您很可能正在使用不同的 gem 版本和路径。

    【讨论】:

      猜你喜欢
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多