无法更新生产服务器上的宝石[英] Unable to update gems on production server

本文是小编为大家收集整理的关于无法更新生产服务器上的宝石的处理方法,想解了无法更新生产服务器上的宝石的问题怎么解决?无法更新生产服务器上的宝石问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

无法在生产服务器上更新 gem.

我试过 bundle install --deployment 和 bundle install --without development test

但不断得到:

You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.

If this is a development machine, remove the Gemfile freeze 
by running `bundle install --no-deployment

编辑

我不知道这是否正确,但需要快速修复.我跑了 bundle install --no-deployment 然后 bundle update 然后又跑了 bundle install --deployment

推荐答案

说明可能有点混乱.这表示您已在开发计算机上修改了 Gemfile 并只是推送了这些更改,而不是在提交更改之前运行 bundle install.

通过运行 bundle install 您将更新您的 Gemfile.lock 文件.这应该被推送到您的服务器,因为它比 Gemfile 更重要.考虑 Gemfile 文件的计划.

永远记住:

  1. 如果您更改了 Gemfile,请运行 bundle install,即使只是为了确保.如果太慢,请通过 --local 强制它仅使用本地 gem 来解决其依赖关系.
  2. 同时提交 Gemfile 和 Gemfile.lock 文件到您的存储库
  3. 将 Gemfile 和 Gemfile.lock 部署到您的生产服务器,以确保它们运行与您的开发环境完全相同的依赖项.
<小时>

单独运行 bundle update 可能会被认为是危险的,它会更新应用程序的所有依赖项.如果您没有在 Gemfile 中指定可靠的版本号,这主要是危险的.我在这里写过.

本文地址:https://www.itbaoku.cn/post/786397.html