我正在使用RVM,使用bundle install和rvm bundle install有什么区别?

时间:2011-06-29 16:12:19

标签: ruby-on-rails ruby-on-rails-3 rubygems ruby-on-rails-plugins railstutorial.org

我想知道区别吗?

我可以同时运行它们并安装它们但实际的区别是什么?

我正在做michael hart的教程/截屏,他使用的是bundle install,这与使用rvm bundle install有什么不同?

我还决定尝试一下“rubymine”ide的试用版,我注意到在终端中运行bundle install然后打开ide告诉我需要更新一些宝石所以我确定它不会安装捆绑在同一个地方。

我已经加载了一个rvm项目。

1 个答案:

答案 0 :(得分:13)

我想从这个问题来看,你还没有完全理解rvmbundler之间的区别以及每个人的确有什么区别。我会尝试解释其中的差异。

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是一个沙箱,而不是框架。