Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用RVM,如何确保gems和非gems看到相同版本的ruby?_Ruby_Rubygems_Rvm_Berkeley Db - Fatal编程技术网

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

使用RVM,如何确保gems和非gems看到相同版本的ruby?,ruby,rubygems,rvm,berkeley-db,Ruby,Rubygems,Rvm,Berkeley Db,我正试图在Ubuntu上安装bdb作为一个gem,如下所示 gem install bdb 我没有使用sudo,因为我是用rvm安装的。我的系统上的ruby版本是1.9.1,但这次安装使用的版本是1.8.7(你看,我正在安装rbot)。我遇到的问题是: checking for db_version() in -ldb-4.something... no 我想这意味着rubygems没有在它正在寻找的地方找到ldb4。这是因为我使用sudo安装了libdb-4.something(实际上是7

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

gem install bdb
我没有使用sudo,因为我是用rvm安装的。我的系统上的ruby版本是1.9.1,但这次安装使用的版本是1.8.7(你看,我正在安装rbot)。我遇到的问题是:

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

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

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

RVM用于管理不同版本的Ruby,使它们彼此隔离

这意味着您在系统中使用的Ruby版本(当您执行将要安装到系统中的
sudogem安装时)与当前环境(正确设置时)无关

在RVM环境中,安装的每个Ruby版本都是一个隔离的环境

我的建议是:

  • 去网站看看吧
  • 在本页末尾,继续阅读有关如何使用Gemset的内容
  • 转到项目目录
  • rvm使用1.8。7@your_project_environment
  • 创建.rvrmc文件,以便在以后访问此项目时自动在项目中使用此环境,此文件可以包含“rvm use 1.8”。7@your_project_environment“这将实现这一目标
  • 安装所有必需的gems

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

    我认为这在我的问题中不够明确,但是:这里的关键是,所讨论的依赖性不是宝石。它是w与apt get一起安装。因此,也许我的问题真的与包管理器如何交互有关?感谢您的帮助,该文档非常有趣!@Ziggy在安装了一些包(如openssl/zlib)后,您很可能需要重新安装ruby,但对于某些包,它的工作方式与ruby不同,该包可以在仅通过apt get安装ruby