RefineryCMS捆绑包 ‘conflict’

huangapple go评论81阅读模式
英文:

RefineryCMS bundle 'conflict'

问题

I setup RefineryCMS/Ruby on an Ubuntu system
When going in the project folder and running rails server I am being told this

from /home/andrea/.rbenv/versions/2.5.3/lib/ruby/site_ruby/2.5.0/rubygems.rb:252:in bin_path' /home/andrea/.rbenv/versions/2.5.3/lib/ruby/site_ruby/2.5.0/rubygems.rb:275:in find_spec_for_exe': Could not find 'bundler' (1.17.3) required by your /home/andrea/Desktop/rubypages/foo1/Gemfile.lock. (Gem::GemNotFoundException
To update to the latest version installed on your system, run bundle update --bundler.
To install the missing version, run gem install bundler:1.17.3

The bundler 1.17.3 is installed and shows up in the list when I run gemlist
bundler (2.1.4, 1.17.3)

Upon running bundle update, I get the following

Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails was resolved to 6.0.2.1, which depends on
      bundler (>= 1.3.0)

    refinerycms (~> 2.1.0) was resolved to 2.1.4, which depends on
      bundler (< 2.0, >= 1.2.2)
  Current Bundler version:
    bundler (2.1.4)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (< 2.0, >= 1.2.2)', which is required by gem 'refinerycms (~> 2.1.0)', in any of the sources.

The command for gem install bundler -v 1.17.3 runs successfully
Yet, the current bundler is 2.1.4
How do I 'get rid' of this 2.1.4 or convince refinerycms to work with 2.1.4?

英文:

I setup RefineryCMS/Ruby on an Ubuntu system
When going in the project folder and running rails server I am being told this

 from /home/andrea/.rbenv/versions/2.5.3/lib/ruby/site_ruby/2.5.0/rubygems.rb:252:in `bin_path&#39; 
/home/andrea/.rbenv/versions/2.5.3/lib/ruby/site_ruby/2.5.0/rubygems.rb:275:in `find_spec_for_exe&#39;: Could not find &#39;bundler&#39; (1.17.3) required by your /home/andrea/Desktop/rubypages/foo1/Gemfile.lock. (Gem::GemNotFoundException 
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:1.17.3`

The bundler 1.17.3 is installed and shows up in the list when I run gemlist
bundler (2.1.4, 1.17.3)

Upon running bundle update, I get the following

Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem &quot;bundler&quot;:
  In Gemfile:
    rails was resolved to 6.0.2.1, which depends on
      bundler (&gt;= 1.3.0)

    refinerycms (~&gt; 2.1.0) was resolved to 2.1.4, which depends on
      bundler (&lt; 2.0, &gt;= 1.2.2)
  Current Bundler version:
    bundler (2.1.4)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem &#39;bundler (&lt; 2.0, &gt;= 1.2.2)&#39;, which is required by gem &#39;refinerycms (~&gt; 2.1.0)&#39;, in any of the sources.

The command for gem install bundler -v 1.17.3 runs successfully
Yet, the current bundler is 2.1.4
How do I 'get rid' of this 2.1.4 or convince refinerycms to work with 2.1.4?

答案1

得分: 2

Option 1:

卸载 bundler v2.1.4

Option 2:

您可以像这样指定使用较旧版本的 bundler:

bundle _1.17.3_ install

(如果不指定版本,系统将使用 最新安装的版本 - 即 2.1.4 - 因此您看到的错误。)

Option 3:

更新 refinerycms 的版本到 v3.0.0(于2015年9月19日发布)或更高版本(最新版本为 v4.0.3)。

快速查看这个 gem 的历史表明,版本 2.x.x 依赖于 bundler < 2.0(这可能是一个完全不必要的依赖关系!);而 版本 3.0.0 则移除了这个约束。

英文:

Option 1:

Uninstall bundler v2.1.4

Option 2:

You can specify an older version of bundler to use like this:

bundle _1.17.3_ install

(Without specifying a version like this, your system will use the latest installed version - i.e. 2.1.4 - hence the error you are seeing.)

Option 3:

Update the version of refinerycms, to v3.0.0 (released on September 19, 2015) or greater (the latest release is v4.0.3).

A quick look at the gem's history reveals that version 2.x.x was dependant on bundler &lt; 2.0 (which may have been a totally unnecessary dependancy!); whereas version 3.0.0 removed this constraint.

答案2

得分: 1

你应该绝对使用更新的RefineryCMS版本。对于Rails 6,你必须使用来自Github的主分支,就像这样:

gem 'refinerycms', git: 'https://github.com/refinery/refinerycms'

目前还没有发布的版本支持Rails 6。

一些扩展,特别是refinerycms-blog扩展,目前还不支持Rails 6,甚至主存储库也缺乏支持。你可能想选择Rails 5.2.x,这个版本仍然受到Rails团队的支持。然后,你应该可以使用已发布的RefineryCMS 4.0.x版本。

希望对你有帮助!

英文:

You should definitely use an updated version of RefineryCMS. For Rails 6, you have to use the master branch from Github, like this:

gem &#39;refinerycms&#39;, git: &#39;https://github.com/refinery/refinerycms&#39;

No released version support Rails 6 yet.

Some extensions, notably the refinerycms-blog extension is not yet ready for Rails 6, and support is lacking even from the main repository. You may want to go for Rails 5.2.x, which is still supported by the Rails team. Then you should be fine with the released RefineryCMS 4.0.x versions.

Hope this helps!

答案3

得分: 0

感谢你们两位。我降级到了 Rails 5.2.0,现在卡在了 actionmailer 上。

Bundler 无法找到与 gem "actionmailer" 兼容的版本:
  在 Gemfile 中:
    rails (~> 5.2.0) 已解析为 5.2.1.rc1,它依赖于
      actionmailer (= 5.2.1.rc1)

    refinerycms-authentication-devise (~> 2.0) 已解析为 2.0.0,它依赖于
      actionmailer (>= 5.0.0, < 5.2)
英文:

Thanks both of you. I downgraded to rails 5.2.0 and now it gets stuck on actionmailer

Bundler could not find compatible versions for gem &quot;actionmailer&quot;:
  In Gemfile:
    rails (~&gt; 5.2.0) was resolved to 5.2.1.rc1, which depends on
      actionmailer (= 5.2.1.rc1)

    refinerycms-authentication-devise (~&gt; 2.0) was resolved to 2.0.0, which depends on
      actionmailer (&gt;= 5.0.0, &lt; 5.2)

huangapple
  • 本文由 发表于 2020年1月7日 00:58:43
  • 转载请务必保留本文链接:https://go.coder-hub.com/59616084.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定