1

所以我知道,如果我运行 bundler install --deployment ,它会将 gem 放在我的应用程序的 vendor 文件夹中,这对于我无法安装系统范围 gem 的共享主机之类的东西很有用。我的问题是,我应该把这个文件夹放到源代码控制(git)中,还是捆绑器需要在不同的系统上安装 gems,比如我们是在 mac 上开发并部署到 linux 上?

谢谢!克雷格

4

1 回答 1

1

您不应该将您的捆绑程序目录放入源代码管理中。您应该使用共享服务器目录来存储捆绑数据。

如果您使用的是 capistrano,请使用内置捆绑器 capistrano 任务:

(在您的 config/deploy.rb 中):

require 'bundler/capistrano'

如果没有,您应该创建一个在不同版本之间持续存在的共享包目录,即:/data/project/shared/bundle

bundle install --deployment --path /data/project/shared/bundle

编辑:每个代码库/项目应该有一个捆绑目录,而不是在项目之间共享。例如,每个 capistrano 部署目录都有自己的共享区域,该区域在版本之间共享,但不在部署的应用程序/代码库之间共享。

于 2013-02-04T16:25:34.467 回答