7

我想知道有什么区别?

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

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

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

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

4

1 回答 1

15

我认为从这个问题中,您还没有完全掌握两者之间的区别rvm以及它们的bundler作用。我将尝试解释其中的区别。

RVM是 Ruby 环境(版本)管理器的首字母缩写。它是一组命令行脚本,用于帮助一个或一组项目的“沙盒”红宝石二进制文件和 gem。这样,如果您有一个需要 Ruby 1.8 的项目和另一个使用 Ruby 1.9 的项目,您可以轻松地在两个 ruby​​ 安装之间切换,避免令人讨厌的不兼容或繁琐的配置。

您还可以为每个 ruby​​ 版本安装不同的 gemset,因此如果您需要使用 Ruby on Rails 2.3 和 3.0 开发一些应用程序,或者如果您想尝试新的 3.1 预览版,您可以这样做而不会破坏其他应用程序的依赖关系.

Bundler是一个 ruby​​ gem,正如网站所说,它在整个生命周期中系统地和可重复地管理应用程序在许多机器上的依赖关系。

Bundler 可以轻松地将一个应用程序的源代码从一台机器复制到另一台机器,并快速且(相对)轻松地安装该特定应用程序所需的所有 gem 和依赖项。

所以我理解混乱,因为有一点重叠。RVM gemset 类似于 gem 包。不同之处在于,bundler 管理单个应用程序多台机器的 gems 和依赖项。rvm gemset 是一个沙箱,将一组 gem 保存在一个地方,与单个机器上的特定 ruby​​ 安装相关联,有时用于多个应用程序。

所以最后,当您说您在 IDE 中“加载了一个 rvm 项目”时,这并不是特别正确。RVM 是一个沙箱,而不是一个框架。

于 2011-06-29T17:44:45.393 回答