如何使用Rails 4安装Refinery CMS

时间:2013-08-21 18:23:09

标签: ruby-on-rails actionmailer refinerycms

我之前从未遇到炼油厂的问题。我按照教程http://railscasts.com/episodes/332-refinery-cms-basics继续刷新我的知识。然后当我使用Refinery CMS创建一个新的应用程序时,我收到了此错误

Bundler could not find compatible versions for gem "actionmailer":
  In Gemfile:
    refinerycms (~> 2.1.0) ruby depends on
      actionmailer (< 3.3, >= 3.1.3) ruby

    rails (= 4.0.0) ruby depends on
      actionmailer (4.0.0)

但是CMS不应该默认存在这些东西吗?为什么现在只会出现错误?

5 个答案:

答案 0 :(得分:15)

最新代码支持Rails 4; gem必须来自master分支,直到发布。

Git Issue #2428 - Rails 4 support

添加到您的Gemfile:

gem 'refinerycms-i18n', github: 'refinery/refinerycms-i18n', branch: 'master'
gem 'refinerycms', github: 'refinery/refinerycms', branch: "master"
# Strong parameters is a new feature not used by Refinery
gem 'protected_attributes'

做一个:

$ bundle install 

创建一个新的Refinery应用程序,该命令将根据您的要求而有所不同。为此,您可以遵循a few guides。就我而言,我将其添加到an existing app并使用:

$ rails generate refinery:cms --fresh-installation

启动您的服务器,然后转到:http://localhost:3000/refinery

答案 1 :(得分:3)

好吧,我的5美分是炼油厂还没有用于Rails 4:

最佳, 本。

答案 2 :(得分:2)

只需使用以下命令初始化应用程序:

rails new my_new_application -m http://refinerycms.com/t/edge

在幕后: 此命令使您的应用程序使用精炼厂的主分支,它支持Rails 4。

<强>更新 虽然以上是最简单和官方的方式,但它对我来说并不完全有用。我不得不在上面的命令之后手动运行以下命令:

 rails generate refinery:cms --fresh-installation

答案 3 :(得分:1)

看起来rails4分支在过去几天里已经有了一些爱情:

https://github.com/refinery/refinerycms/tree/rails4

我会尝试一下,然后根据我的情况进行更新。

答案 4 :(得分:0)

好的,让我们试着回答这个问题。这是我走的路。

首先,我安装了refinerycms gem。

gem install refinerycms
然后我做了一个:

rbenv rehash

然后我按照指南:

refinerycms rickrockstar

Bundler抱怨道:

Bundler could not find compatible versions for gem "refinerycms-core":
  In Gemfile:
    refinerycms (~> 3.0) ruby depends on
      refinerycms-images (= 3.0.0) ruby depends on
        refinerycms-core (= 3.0.0) ruby

refinerycms (~> 3.0) ruby depends on
  refinerycms-images (= 3.0.0) ruby depends on
    refinerycms-core (= 3.0.0) ruby

refinerycms (~> 3.0) ruby depends on
  refinerycms-images (= 3.0.0) ruby depends on
    refinerycms-core (= 3.0.0) ruby

refinerycms (~> 3.0) ruby depends on
  refinerycms-images (= 3.0.0) ruby depends on
    refinerycms-core (= 3.0.0) ruby

refinerycms-wymeditor (>= 1.0.6, ~> 1.0) ruby depends on
  refinerycms-core (>= 3.0.0, ~> 3.0) ruby

refinerycms-acts-as-indexed (>= 1.0.0, ~> 1.0) ruby depends on
  refinerycms-core (~> 2.1.0) ruby

在我的gemfile中,我更改了以下行:     gem&#39; rails&#39;,&#39; 4.2.4&#39;

gem 'refinerycms'
gem 'refinerycms-acts-as-indexed'
gem 'refinerycms-wymeditor'

这解决了这个问题。

我必须做一个:

bundle install

然后a:

rails generate refinery:cms --fresh-installation

我在github上发布了一个问题,并从RefineryTeam得到了以下答案:

 It looks like the culprit was refinerycms-acts-as-indexed version - it should be ~> 2.0.1 to work with Refinery 3.0.0

https://github.com/refinery/refinerycms/issues/3072

另请参阅此page,其中的内容可能比遵循Refinery网站上的指南更顺畅。有什么可以看到类似于上面的Zuhaib Ali的回答(稍微详细一点)。

希望这有帮助