部署 heroku 应用程序时无法在任何来源中找到 nokogiri-1.11.1

Could not find nokogiri-1.11.1 in any of the sources while deploying a heroku app

我的第一个 post 在这里!将我的 Rails 应用程序部署到 Heroku 时出现“无法在任何来源中找到 nokogiri-1.11.1”错误。成功将应用程序推送到我的 git 存储库后,我在 运行 “git push heroku master” 时收到错误。我的 ruby 版本是 2.7.2,rails 是 6.1.3,bundler 版本是 2.1.4。谢谢!

remote:        Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote:        The git source `git://github.com/rightscale/right_http_connection.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config set git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote:        Some gems seem to be missing from your vendor/cache directory.
remote:        Could not find nokogiri-1.11.1 in any of the sources
remote:        Bundler Output: The git source `git://github.com/rightscale/right_http_connection.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config set git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
remote:        Some gems seem to be missing from your vendor/cache directory.
remote:        Could not find nokogiri-1.11.1 in any of the sources
.
.
.
    remote:  !     Failed to install gems via Bundler.
.
.
.
! [remote rejected] master -> master (pre-receive hook declined)

这是 Nokogiri 的一个已知问题,因为 Bundler 的默认行为是仅为开发系统而不是生产系统缓存 gem,从而导致部署时出错。

这可能会解决您的错误。

rm -rf vendor/cache
bundle config set force_ruby_platform true
bundle install

您可以找到更多信息here