我想知道区别吗?
我可以同时运行它们并安装它们但实际的区别是什么?
我正在做michael hart的教程/截屏,他使用的是bundle install,这与使用rvm bundle install有什么不同?
我还决定尝试一下“rubymine”ide的试用版,我注意到在终端中运行bundle install然后打开ide告诉我需要更新一些宝石所以我确定它不会安装捆绑在同一个地方。
我已经加载了一个rvm项目。
答案 0 :(得分:13)
我想从这个问题来看,你还没有完全理解rvm
和bundler
之间的区别以及每个人的确有什么区别。我会尝试解释其中的差异。
RVM是Ruby enVironment(Version)Manager的首字母缩写。它是一组命令行脚本,用于帮助项目或项目集的“沙箱”ruby二进制文件和宝石。这样,如果你有一个需要Ruby 1.8的项目和另一个使用Ruby 1.9的项目,你可以在两个ruby安装之间轻松切换,避免讨厌的不兼容性或繁琐的配置。
你也可以用每个ruby版本安装不同的gemset,所以如果你需要用Ruby on Rails 2.3开发一些应用程序,有些用3.0开发,或者如果你想尝试新的3.1 prelease,你可以这样做而不会破坏其他应用程序的依赖性。
Bundler是一个红宝石的宝石,正如网站所说,它在整个生命周期中系统地和可重复地管理应用程序的依赖性。
Bundler可以轻松地将一个应用程序的源从一台机器复制到另一台机器,并快速(相对)轻松地安装该特定应用程序所需的所有宝石和依赖项。
所以我理解混乱,因为有一些重叠。 RVM gemsets与gem bundle类似。不同之处在于,bundler管理单个应用程序和多台计算机的gems和依赖项。 rvm gemset是一个沙箱,它将一组宝石保存在一个地方,与一台机器上的特定ruby安装相关联,有时用于多个应用程序。
所以要关闭,当你说你在IDE中“加载了一个rvm项目”时,这并不是特别真实。 RVM是一个沙箱,而不是框架。