Spree Commerce安装错误,Bundler找不到gem“rails”的兼容版本

时间:2012-02-12 15:56:08

标签: ruby-on-rails ruby gem rvm spree

当我安装Spree网站时(根据本指南:http://guides.spreecommerce.com/getting_started.html),我遇到了这个问题:

  

deploy @ bothunter:〜/ rails $ sudo -i gem install rails
  成功安装rails-3.2.1
  1个宝石安装
  deploy @ bothunter:〜/ rails $ sudo -i gem install bundler

     

成功安装了bundler-1.0.22 1 gem安装
  deploy @ bothunter:〜/ rails $ sudo -i gem install spree
  成功安装spree-1.0.0 1 gem安装
  deploy @ bothunter:〜/ rails $ rails new mystore -d mysql create
        创建README.rdoc
        创建Rakefile
        创建config.ru
        .....

     

运行捆绑安装
  获取https://rubygems.org/的源索引   使用rake(0.9.2.2)
  使用activemodel(3.2.1)
   .....   使用机架测试(0.6.1)
  使用加息(1.2.1)
  使用actionpack(3.2.1)    .....   使用咖啡导轨(3.2.2)
  使用jquery-rails(2.0.0)
  使用mysql2(0.3.11)
  使用导轨(3.2.1)
  使用uglifier(1.2.3)
  你的包很完整!使用bundle show [gemname]查看捆绑的gem的安装位置。

     

deploy @ bothunter:〜/ rails $ cd mystore
  deploy @ bothunter:〜/ rails / mystore $ spree install
  您要安装默认网关吗? (是/否)[是]
      ...   gemfile狂欢   gemfile spree_usa_epay
  gemfile spree_skrill运行
  从“。”捆绑安装   未检出 git://github.com/spree/spree_usa_epay.git(位于0cb57b4)。请运行bundle install预编译资产

     

git://github.com/spree/spree_usa_epay.git(位于0cb57b4)未签出。请运行bundle install

     

deploy @ bothunter:〜/ rails / mystore $ bundle install
     正在更新git://github.com/spree/spree_usa_epay.git

     

更新git://github.com/spree/spree_skrill.git
  获取sitename.com的源索引    Bundler无法找到gem“rails”的兼容版本:
  **在Gemfile中:
           spree_usa_epay(> = 0)ruby取决于              rails(< = 3.1.3,> = 3.1.1)ruby

    **rails (3.2.1)**
     

部署@ bothunter:〜/轨道/ $的MyStore

但是...

deploy@bothunter:~/rails/mystore$ gem --list

rails (3.2.1, **3.1.3**)
railties (3.2.1, **3.1.3**)
rake (0.9.2.2, 0.9.2)

如何解决?

2 个答案:

答案 0 :(得分:5)

Spree 1.0仅适用于Rails 3.1.3。我们将在Spree的下一个次要版本中寻求支持Rails 3.2。在此之前,请使用3.1.3,如下所示:

gem install rails -v 3.1.3

答案 1 :(得分:3)

我非常确定这里的问题是rails版本已经超出了预期的预期。因此,如果您通过键入以下内容创建3.1.3版本的新rails应用程序:

rails _3.1.3_ new my_app_name

然后你会遇到这个错误。但是,在那之后,我在捆绑安装期间遇到了另一个错误,我还没有解决。