如何解决部署到 OpenShift 时 rails 中的更新捆绑器警告?

How to solve the update bundler warning in rails when deploying to OpenShift?

我正在尝试在 openShift 上部署我的 rails 应用程序,一切正常,但它发出捆绑包更新警告。

Warning: the running version of Bundler (1.16.1) is older than the version that created the lockfile (1.16.6). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.

我想更新 openshift bundler 或其他解决方法来解决这个问题。

通常,运行 过时的 bundler 不会导致任何问题,因此您应该能够安全地忽略警告。

但是,如果您出于某种原因必须更新 bundler 的版本,您应该在默认构建过程之前使用 .s2i/bin/assemble 脚本更新 bundler 的版本。所以类似于

#!/bin/bash -e
# The assemble script builds the application artifacts from source and
# places them into appropriate directories inside the image.

echo "---> Updating bundler gem..."
gem install bundler

# Execute the default S2I script
source ${STI_SCRIPTS_PATH}/assemble

应该可以解决问题。如果您将它作为可执行的 assemble 脚本添加到 .s2i/bin 目录中的存储库(在将其添加到您的存储库之前不要忘记 chmod +x assemble 定义),这应该会处理问题给你。

您还可以在 sclorg GitHub 存储库中看到默认的 Ruby 2.5 assemble 脚本:https://github.com/sclorg/s2i-ruby-container/blob/master/2.5/s2i/bin/assemble。如果您好奇,只需根据需要更改 URL 中的版本。