Rails 3 的 Bundler“bundle install --deployment”到底是做什么的?

2024-02-22

正式文档中描述的东西有点复杂。

它是否只是添加以下行.bundle/config

BUNDLE_PATH: vendor/bundle

然后执行bundle install,就这样? (安装后会将所有宝石安装到vendor/bundle)

然后当应用程序运行时,它会在指定的这个路径中寻找gems.bundle/config,就这样?

Update:如果我使用 Mercurial (类似于 Git)来跟踪项目中的文件,那么在执行以下操作之后bundle install --deployment,唯一的变化是添加了很多文件到供应商/捆绑包,并添加了 2 行.bundle/config:

BUNDLE_FROZEN: "1"
BUNDLE_PATH: vendor/bundle

bundle install --deployment确实将 gems 安装到本地vendor/bundle应用程序中的目录。这反映在您提到的路径设置中的配置更改(BUNDLE_PATH:vendor/bundle)。这种方法称为“冻结”或“供应”gems,它强制应用程序使用本地安装的 gem,而不是全局系统 gem,这是方便的默认部署。正如捆绑器文档中提到的:

“在部署中,隔离是一个更重要的默认设置。此外, 部署应用程序的用户可能没有安装权限 gems 到系统,或者网络服务器可能没有权限 阅读它们。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3 的 Bundler“bundle install --deployment”到底是做什么的? 的相关文章

随机推荐