Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 捆绑机(一般)是如何工作的?_Ruby On Rails_Ruby_Rubygems_Gem_Bundler - Fatal编程技术网

Ruby on rails 捆绑机(一般)是如何工作的?

Ruby on rails 捆绑机(一般)是如何工作的?,ruby-on-rails,ruby,rubygems,gem,bundler,Ruby On Rails,Ruby,Rubygems,Gem,Bundler,我对Ruby/Rails还很陌生,但我在看bundler时想知道它到底是如何工作的。您是否像普通gem install XYZ那样安装了一整套gem,然后使用Gemfile提取这些gem的某个子集以用于特定的应用程序?或者,您是否不再正常安装gem,只需将它们包含在gem文件中,然后执行捆绑安装,将它们全部包含在捆绑包中,然后与您的应用程序一起使用 非常感谢您花时间回答这个问题,我只是有点困惑bundler的功能到底是什么 --MAP将bundler看作一个包管理工具 从捆绑帮助命令: 捆绑安装

我对Ruby/Rails还很陌生,但我在看bundler时想知道它到底是如何工作的。您是否像普通
gem install XYZ
那样安装了一整套gem,然后使用Gemfile提取这些gem的某个子集以用于特定的应用程序?或者,您是否不再正常安装gem,只需将它们包含在gem文件中,然后执行
捆绑安装
,将它们全部包含在捆绑包中,然后与您的应用程序一起使用

非常感谢您花时间回答这个问题,我只是有点困惑bundler的功能到底是什么


--MAP

将bundler看作一个包管理工具

捆绑帮助
命令:

捆绑安装
#将当前环境安装到系统

捆绑包
#锁定所有gem,然后将其缓存到供应商/缓存中

因此,
bundle install
命令将把Gemfile中列出的所有gem及其依赖项安装到系统中。如果之前没有安装gem,它将从gemcutter repo中获取它<代码>捆绑包将把.gem文件缓存到你的应用程序供应商/缓存目录中


无需先运行
gem安装。

这两个链接解释了bundler的所有内容


如果还没有,请查看。这是官方的捆绑机网站。我知道我们不应该问stackoverflow的后续问题(根据常见问题),但我有一个扩展的问题。我真正想做的是在一台机器上管理多个rails和ruby版本。那么我会使用RVM的gemset来实现这一点,然后使用bundler作为我创建的每个RVM gemset的一部分,以便切换gemset和rails版本吗?我仍然不确定它是如何工作的——例如,它如何确保您运行的是正确版本的gem,当存在多个?@Toybuilder时,您可以在Gem文件中指定您的Gem依赖项。Bundler完全解析整个Gem依赖关系图,并将其冻结在应用程序的Gemfile.lock中。实际上,您可以使用
bundle viz
查看图形。