【问题标题】:Using RVM, how to ensure gems and non-gems see the same version of ruby?使用 RVM,如何确保宝石和非宝石看到相同版本的 ruby​​?
【发布时间】:2011-05-11 01:17:19
【问题描述】:

我正在尝试将 bdb 作为 gem 安装在 Ubuntu 上,如下所示,

gem install bdb

我没有使用 sudo,因为我使用 rvm 进行安装。我系统上的 ruby​​ 版本是 1.9.1,但我用于此安装的版本是 1.8.7(我正在安装 rbot,你看)。我遇到的问题是:

checking for db_version() in -ldb-4.something... no

我认为这意味着 ruby​​gems 在它正在寻找的地方没有找到 ldb4.something。这是因为我使用 sudo 安装了 libdb-4.something(实际上是 7),而我系统的 ruby​​ 版本与我用于 bdb 的 ruby​​ 版本不同?使用 rvm,我应该如何处理这种情况?也许我做错了,但在我看来,我的问题是不是我使用的所有东西都是宝石,不是宝石的东西看到了错误的 ruby​​ 版本。

(如果事实证明我的问题完全不相关:我仍然对这个问题感兴趣。我在系统上安装的特定版本 ruby​​ 的东西如何与在不同版本下使用 rvm 安装的 gem 相处红宝石?)

【问题讨论】:

    标签: ruby rubygems rvm berkeley-db


    【解决方案1】:

    “我使用特定版本的 ruby​​ 在我的系统上安装的东西如何与在不同版本的 ruby​​ 下使用 RVM 安装的 gem 相处?”

    他们没有,这就是重点。 RVM 用于管理不同版本的 Ruby,使它们彼此隔离。

    这意味着您用于系统的 Ruby 版本(当您执行将安装到系统的 sudo gem install 时)与当前环境无关(正确设置时)。

    当您在 RVM 环境中时,安装的每个 Ruby 版本都是一个独立的环境。

    我推荐的是这个:

    1. 访问RVM 网站并查看。
    2. 在页面末尾,继续阅读有关如何使用 gemsets 的内容。
    3. 转到您的项目目录
    4. rvm 使用 1.8.7@your_project_environment
    5. 创建您的 .rvrmc 文件,以便您在以后访问此项目时自动在您的项目中使用此环境,此文件可以包含“rvm use 1.8.7@your_project_environment”,这将实现此目的。
    6. 安装所有必需的 gems

    如果您还有其他问题,请随时访问 Wayne E. Seguin 和大量其他 RVM 用户,我们很乐意为您提供帮助。当然,首先搜索答案是网站上的文档。

    【讨论】:

    • 我认为这在我的问题中不够明确,但是:这里的关键是所讨论的依赖项不是宝石。它是用 apt-get 安装的。所以也许我的问题真的与包管理器如何交互有关?感谢您的帮助,该文档非常有趣!
    • @Ziggy 很可能你需要在安装了一些像 openssl / zlib 这样的包之后重新安装 ruby​​,但是对于某些包它不会像 ruby​​-something 那样工作,这个包只适用于通过安装的 ruby apt-get
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多