我不确定这两个工具之间有什么区别。似乎有很大的重叠,但我一直在使用 RVM 并面临一些不兼容的问题。
Bundler 做了哪些 RVM 没有做的事情?
它们有不同的目的。 RVM 创建一个沙箱来管理您的 Ruby 安装。作为其中的一部分,它还允许您定义宝石集。
Bundler 不管理您的 Ruby,它适用于当前选择的 Ruby。
因此,我认为您应该将 RVM 视为您的开发环境的配置管理器,并将 Bundler 视为应用程序的 gem 管理器。
编辑:额外的想法-
无论我们是否使用 RVM,通常我们都必须手动加载我们将用于应用程序的所有 gem,使用gem install blah
,对于我们想要使用的每一个宝石。
我最终手动管理了多个红宝石上的宝石。一旦安装完毕,我就可以使用 RVM 创建 gemset,但如果未安装,RVM 不会自动检索特定版本的 gem,或者如果已删除,则再次获取它。因为 RVM 更关心您的 Ruby 环境,所以它主要将 gems 的版本控制留给gem
对我们来说。
另一方面,Bundler 确实关心 RVM 中那些缺失的部分。当您为捆绑程序创建 Gemfile 时,它将检索必要的 gem 和特定版本(如果指定)。因此,在不同的机器上安装 Ruby 应用程序的任务变得更加简单。将文件推送到另一台机器,然后运行bundle install
剩下的事情它都会完成。
它与 Rails 配合得很好,对于我的生产文件来说是一个明智的解决方案。这比我必须处理 Perl 发行版以便在同一主机上运行 Perl 应用程序要简单得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)