“捆绑安装-部署”和“捆绑安装--path供应商/捆绑”之间的区别?

时间:2019-03-24 07:18:21

标签: ruby-on-rails ruby bundler

bundle install --deploymentbundle install --path vendor/bundle之间到底有什么区别?

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

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

1 个答案:

答案 0 :(得分: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会将gems安装到每个项目使用的共享文件夹中。最好在项目和部署之间隔离依赖项。