2013-01-05 154 views
1

道歉的主题标题,无法抗拒。红宝石,版本,宝石,版本和更多,哦我的

基本上,没有任何理由除了尝试不同的事情。我想破解RVM并尝试rbenv。没有任何针对RVM的,只是想尝试不同的民族软件,尝试不同的东西。

我可以摆脱RVM并安装rbenv没有问题。你们能否为我确认一些事情?

首先,如果我这样做,然后安装几个不同的ruby版本。我知道我可以将.ruby-version文件放在项目根目录中以指定特定的ruby版本,但当我说gem install <gemname>时,我认为它是针对该ruby版本全局安装的。

如果我然后使用每个项目的bundler来管理使用的gem,并指定一个gem版本,如果lock文件中指定的版本与当前安装的版本不同,会发生什么情况,如果反过来会发生什么?

我只是需要澄清一下关于ruby,版本,gems及其版本的问题。

回答

1

关于rbenv的(很多)可爱的事情之一是,你可以很容易地看看你的红宝石安装,看看发生了什么。例如,在我的机器上,我可以打开〜/ .rbenv并且有版本包含我的红宝石安装,例如1.9.3-p327。打开之后,我可以继续钻探以查看为该版本的红宝石安装的宝石(在〜/ .rbenv/versions/1.9.3-p327/lib/ruby​​/gems/1.9.1/gems)。然后运行gem listgem install somegem并确认受影响的是这个非常宝贵的集合 - 如果这是当前的ruby(在rbenv global中设置并在rbenv versions中加星号),那么这是微不足道的。

总之,你的系统的一切都认为ruby意味着这个版本的红宝石,它的库是这个库。对于Bundler,您需要安装rbenv-bundler。一个很好的教程(很容易找到谷歌)在这里:http://dan.carley.co/blog/2012/02/07/rbenv-and-bundler/

+0

谢谢你,所以如果我遵循,并禁止bundler共享宝石,我在bundler中指定的每个宝石安装到该项目的供应商目录,如果我在不同的项目中使用相同的宝石,它会再次安装该宝石。正确?如果我允许bunder分享,会发生什么? – rctneil

+0

bundler会使用常见的rubygems目录 - 无论是默认还是来自'GEM_HOME' /'GEM_PATH' - 使用bundler默认部署选项都存在问题http://stackoverflow.com/a/14151386/497756 – mpapis

+0

因此,禁用配置选项共享宝石默认设置?如果是这样,那么因为我的主目录或我的任何项目目录中没有.bundle目录。 – rctneil