【发布时间】:2019-11-05 18:52:42
【问题描述】:
我们的服务器关闭,Redmine 停止工作,所以我不得不重新安装 Bundler 并运行 bundle install。
在运行 bundle install 时出现此错误:
c:\APPS\webapps\redmine-3.2.0>bundle install
Fetching gem metadata from https://rubygems.org/.............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies....
Using rake 12.3.2
Using concurrent-ruby 1.1.5
Using i18n 0.9.5
Using json 1.8.6
Using minitest 5.11.3
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using activesupport 4.2.5
Using builder 3.2.3
Using erubis 2.7.0
Using mini_portile2 2.4.0
Fetching nokogiri 1.9.1 (x64-mingw32)
Installing nokogiri 1.9.1 (x64-mingw32)
Gem::RuntimeRequirementNotMetError: nokogiri requires Ruby version >= 2.2, <
2.6. The current ruby version is 2.0.0.
An error occurred while installing nokogiri (1.9.1), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.9.1' --source
'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
rails was resolved to 4.2.5, which depends on
actionmailer was resolved to 4.2.5, which depends on
actionpack was resolved to 4.2.5, which depends on
actionview was resolved to 4.2.5, which depends on
rails-dom-testing was resolved to 1.0.9, which depends on
nokogiri
我已经安装了 Nokogiri 1.6.8。我不确定为什么它无法读取我安装的 Nokogiri 版本并且仍然获取 1.9.1,因为我需要 Redmine 2.3.0 的 Ruby v.2,但是我的包仍然告诉我它正在寻找 1.9.1。在做bundle install 时,我尝试根据我的研究将Gemfile 更改为gem "nokogiri", ">= 1.4.2",但是1.9.1 仍然存在。如何成功升级 Nokogiri?
我用过:
gem "nokogiri", "1.6.8"
在我的 Gemfile 中,我有:
c:\APPS\webapps\redmine-3.2.0>bundle update nokogiri
Fetching gem metadata from https://rubygems.org/.............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies....
Bundler could not find compatible versions for gem "nokogiri":
In Gemfile:
nokogiri (= 1.6.8) java
roadie-rails java was resolved to 1.2.0, which depends on
roadie (~> 3.1) java was resolved to 3.5.0, which depends on
nokogiri (~> 1.8) java
如果我运行 gem install nokogiri -v '1.9.1',我会收到错误消息,指出我的 Ruby 版本低于预期,并且我无法拥有更高的 Ruby 版本,因为 Redmine 是旧版本。
这是我拥有的所有 Nokogiri 版本:
c:\APPS\webapps\redmine-3.2.0>gem uninstall nokogiri
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
Select gem to uninstall:
1. nokogiri-1.6.8.rc3-x64-mingw32
2. nokogiri-1.6.8-x64-mingw32
3. nokogiri-1.6.8.1-x64-mingw32
4. All versions
【问题讨论】:
-
如果您指定
nokogiri >= 1.4.2,您将获得最新的。在这种情况下是 1.9.1,它需要 Ruby 2.2。尝试指定您想要的 nokogiri 的确切版本。也许像~> 1.6。 -
我应该说 nokogiri = 1.6.8 吗?
-
gem 'nokogiri', '1.6.8' -
它说 Bundler 找不到 gem "nokogiri" 的兼容版本:
-
看起来道路需要 1.8+,因此您需要指定类似
~> 1.8的内容。通过 nokogiri 文档查看,1.9.1 看起来像是放弃了对 2.0 的支持,因此您需要找到比这更少但大于 1.8 的东西。目前尚不清楚为什么 bundler 没有为您解决这个问题,但您的 Gemfile.lock 中可能有一些东西导致了它(或者可能有人在没有任何参数的情况下运行了包更新)
标签: ruby-on-rails ruby rubygems nokogiri redmine