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

bba*_*ral 3 git ruby-on-rails heroku ruby-on-rails-6.1

我的第一篇文章在这里!将 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)
Run Code Online (Sandbox Code Playgroud)

小智 14

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

这可能会解决您的错误。

rm -rf vendor/cache
bundle config set force_ruby_platform true
bundle install
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到更多信息。