“bundle install --deployment”和“bundle install --path vendor / bundle”之间的区别?

问题描述 投票:0回答:1

bundle install --deploymentbundle install --path vendor/bundle究竟有什么区别?

我已经阅读了下面的链接,它解释了部署模式的作用,但我仍然不确定,因为这两个命令都将gems安装到路径vendor/bundle。我模糊的理解是,--deploymentGemfile.lock设置到位,因此无法再更新。但如果我错了,请纠正我。

https://bundler.io/man/bundle-install.1.html#DEPLOYMENT-MODE

ruby-on-rails ruby bundler
1个回答
1
投票

基本上,bundle install --deployment甚至没有看你的Gemfile,只会安装你的Gemfile.lock的所有依赖项(如果你的Gemfile.lock有依赖性问题,将会失败)。 bundle install --path使用特定目标文件夹(在您的示例中,与bundle install的目标文件夹相同)执行常规bundle install --deployment。你的例子的主要区别在于,如果你的bundle install发生了变化,Gemfile.lock会尝试改变你的Gemfile

Bundler在部署模式下安装到vendor/bundle的原因是常规bundle install会将gem安装到每个项目使用的共享文件夹中。最好隔离项目和部署之间的依赖关系。

© www.soinside.com 2019 - 2024. All rights reserved.