使用RVM,如何确保宝石和非宝石看到相同版本的ruby?

Zig*_*ggy 5 ruby rubygems berkeley-db rvm

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

gem install bdb
Run Code Online (Sandbox Code Playgroud)

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

checking for db_version() in -ldb-4.something... no
Run Code Online (Sandbox Code Playgroud)

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

(如果事实证明,我的问题是一些完全无关的.我仍然有兴趣在这个问题如何做的事情我已经安装在我的系统上使用Ruby的特定版本相处的宝石在不同版本的红宝石用RVM安装? )

vgo*_*off 4

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

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

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

当您处于 RVM 环境中时,安装的每个 Ruby 版本都是一个隔离的环境。

我推荐的是这样的:

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

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