2

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

1 回答 1

8

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

这可能会解决您的错误。

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

您可以在此处找到更多信息。

于 2021-02-22T07:24:24.540 回答