部署 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 中找不到应用程序