2011-05-11 73 views
5

我试图在Ubuntu上安装BDB作为宝石如下,使用RVM,如何确保宝石和非宝石看到相同版本的红宝石?

gem install bdb 
我没有使用sudo,因为我用RVM安装

。我的系统上的ruby版本是1.9.1,但我用于此安装的版本是1.8.7(我正在安装rbot,您会看到)。我遇到的问题是:

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

我想这意味着RubyGems是不是它正在寻找的地方找到ldb4.something。这是因为我使用sudo安装了libdb-4.something(实际上是7),而我的系统的ruby版本与我用于bdb的ruby版本不同?使用rvm,我应该如何处理这种情况?也许我做错了,但在我看来,我的问题是,并非我所使用的所有东西都是宝石,而非宝石的东西却看到了错误的红宝石版本。如果事实证明我的问题是完全不相关的:我仍然对这个问题感兴趣。在我的系统上安装了特定版本的ruby,并且使用不同的rvm安装了gem的情况下,我的系统如何在不同的系统下安装了不同的gem红宝石的版本?)

回答

4

“如何做事情我已经安装在我的系统上使用Ruby的特定版本的宝石相处下不同版本的红宝石使用RVM装?”

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

这意味着你使用的系统(当你这样做sudo gem install将被安装到系统)有什么用当前的环境做Ruby版本(当正确设置。)

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

我建议是这样的:

  1. 转到RVM网站,并检查了。
  2. 在页面的最后,继续阅读关于如何使用gemsets的内容。
  3. 去你的项目目录
  4. RVM使用[email protected]_project_environment
  5. 创建.rvrmc文件,这样你将自动使用到这个项目将来访问你的项目这样的环境中,这个文件可以包含“rvm使用[email protected]_project_environment”将实现这一点。
  6. 安装所有需要的宝石

如果您有其他疑问,请随时访问韦恩E. Seguin的一吨RVM的其他用户,我们将竭诚为您排忧解难。当然,首先搜索答案是网站上的文档。

+0

我觉得这不是我的问题不够明确,但:这里的关键是有问题的依赖是不是宝石。它与apt-get一起安装。所以也许我的问题真的与包管理者如何交互?感谢您的帮助,该文档非常有趣! – Ziggy 2011-05-27 05:27:47

+1

@Ziggy很可能你需要在安装openssl/zlib之类的软件包后重新安装ruby,但对于某些软件包来说,它不会像ruby-something一样工作,这个软件包只能通过apt-get安装的ruby – mpapis 2012-08-30 00:30:03