在Rails 4上遇到gems错误

时间:2013-07-17 15:53:25

标签: rubygems ruby-on-rails-4 spree

我对Rails相对较新,我正在尝试使用Rails 4.0创建一个基本的狂欢应用程序。我最近尝试为我的商店安装扩展程序(spree_fancy),在运行bundle exec rails g spree_fancy:install命令时,我一直看到这条消息:

Unsupported rails environment for compass.

在安装扩展程序之前,我可以在本地看到我的应用程序加载,但现在我遇到了:

NoMethodError

undefined method `empty?' for nil:NilClass

我假设这个错误是由spree_fancy引起的。有没有办法来解决这个问题?如果没有,我将如何去除spree_fancy gem?我从Gemfile中删除了它,运行了gem uninstall spree_fancy,并重新安装了我的软件包,但这似乎没有办法。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

当前发布的Spree版本不支持rails 4. Spree的一个分支支持Rails 4,您可以在此Spree Rails 4 Blog Post阅读更多信息。

我不相信spree_fancy目前支持Rails 4,因为它依赖于不支持Rails 4的Compass。有几个支持rails 4的分支,但spree_fancy没有配置为使用它们。

简短版本:Spree on Rails 4尚未准备好迎接黄金时段。如果你是rails的新手,你应该坚持使用3.2.x for Spree。 Spree on Rails 4将在几个月内准备就绪,您可以升级。

答案 1 :(得分:1)

基于Unsupported rails environment for compass.错误,这听起来像罗盘和Rails 4的问题。

通过将compass-rails中的gem 'compass-rails'行更改为:

,使用与Rails 4兼容的Gemfile版本
gem 'compass-rails', github: 'milgner/compass-rails', branch: 'rails4'

我不确定spree_fancy本身是否与Rails 4兼容,因此您可能需要查看Ready for Rails 4?以查看您使用的gem是否与Rails 4兼容。