Ruby on rails I';m使用RVM,使用捆绑安装和RVM捆绑安装有什么区别?

Ruby on rails I';m使用RVM,使用捆绑安装和RVM捆绑安装有什么区别?,ruby-on-rails,ruby-on-rails-3,rubygems,ruby-on-rails-plugins,railstutorial.org,Ruby On Rails,Ruby On Rails 3,Rubygems,Ruby On Rails Plugins,Railstutorial.org,我想知道区别是什么 我可以同时运行这两个程序并安装它们,但实际的区别是什么 我正在做MichaelHart的教程/屏幕广播,他使用bundle安装,这与使用rvm bundle安装有什么区别 我还决定试用“rubymine”ide,我注意到在终端中运行bundle install后打开ide,它告诉我需要更新一些gems,所以我确信它不会在同一个地方安装bundle 我在其中加载了一个rvm项目。我认为从这个问题来看,您还没有完全理解rvm和bundler之间的区别,以及它们的具体功能。我会试着

我想知道区别是什么

我可以同时运行这两个程序并安装它们,但实际的区别是什么

我正在做MichaelHart的教程/屏幕广播,他使用bundle安装,这与使用rvm bundle安装有什么区别

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


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

我认为从这个问题来看,您还没有完全理解
rvm
bundler
之间的区别,以及它们的具体功能。我会试着解释一下区别

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

您还可以在每个ruby版本中安装不同的Gemset,因此如果您需要使用ruby on Rails 2.3开发一些应用程序,或者如果您想尝试新的3.1 PreRelease,您可以在不破坏其他应用程序依赖关系的情况下进行开发

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

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

因此,我理解这种混淆,因为有一点重叠。RVM gemeset与gem bundle类似。区别在于bundler管理单个应用程序和跨多台机器的gem和依赖项。rvm gemset是一个沙箱,将一组gems保存在一个地方,绑定到一台机器上的特定ruby安装,有时用于多个应用程序


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

我想你可能会感到困惑。没有
rvm bundle
命令
bundle
是安装bundler gem后使用的命令。现在对我来说完全有意义了。我正在运行bundle install和rvm bundle install,这就是我感到困惑的地方。我仍然不明白你在说什么,因为如果在命令行中键入
rvm bundle install
,它将显示一个错误,因为没有
rvm bundle
命令我的意思是当我输入rvm gem安装GEMNAME。。它起作用了。另外,rvm gem list给了我一个不同于我键入“gem list”时的gem list,好吧,也许我不明白。再读一遍之后。当我运行bundle install时,它如何知道要为哪个应用程序/项目安装bundle?如果bundle install在rubyme中运行,我是否需要在终端中运行bundle install?您的依赖项在应用程序文件夹根目录中名为
Gemfile
的文件中声明。当您运行
bundle install
(在应用程序的根目录中)时,Bundler将遍历此文件,安装gems和依赖项,然后将gems及其安装版本的快照写入
Gemfile.lock
。gembundler.com网站上详细介绍了这一点。