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

Posted

技术标签:

【中文标题】部署 heroku 应用程序时在任何源中找不到 nokogiri-1.11.1【英文标题】:Could not find nokogiri-1.11.1 in any of the sources while deploying a heroku app 【发布时间】:2021-05-24 06:06:06 【问题描述】:

我在这里的第一篇文章!在将我的 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)

【问题讨论】:

【参考方案1】:

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

这可能会解决您的错误。

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

您可以找到更多信息here。

【讨论】:

成功了!谢谢!

以上是关于部署 heroku 应用程序时在任何源中找不到 nokogiri-1.11.1的主要内容,如果未能解决你的问题,请参考以下文章

Heroku:在 /app/config/storage.yml 中找不到 Active Storage 配置(RuntimeError)

在当前目录中找不到 Procfile 和 package.json 文件 - 请参阅 run-foreman.js

在 Heroku 中找不到满足要求 tensorflow==1.0.0 的版本

Rails:Webpacker 4.2 在 /app/public/packs/manifest.json heroku 中找不到应用程序

vs中程序包源中找不到你要的包

使用docker将django应用程序部署到heroku时在哪里运行collectstatic?