2013-06-27 63 views
29

我有干净的新的Rails应用4用的Gemfile:compass-rails支持Ruby on Rails 4.0吗?

#default gems 
gem 'compass-rails' 
gem 'zurb-foundation' 
gem 'thin' 

与style.scss:

@import "compass"; 
@import "foundation/variables"; 
$red: rgb(255,0,1); 
$green: rgb(51,153,50); 
$body-bg: #F4F4F4; 
$body-font-color: #7B7B7B; 
$primary-color: #999; 
$secondary-color: #0CC; 
$dark-color: #393939; 
$block-container-border-color: rgb(218,218,218); 
$block-container-shadow-color: rgb(208,208,208); 
// main background 
html{ 
    background:image-url('bckg.jpg'); 
} 
body{ 
    width:1000px; 
    margin:0 auto; 
    @include box-shadow(0px 0px 32px -5px #000); 
} 

而且我有这样的错误:

Showing /Users/quatermain/Projects/rails40/app/views/layouts/application.html.erb where line #18 raised: 

File to import not found or unreadable: compass. 
Load paths: 
    /Users/quatermain/Projects/rails40/app/assets/images 
    /Users/quatermain/Projects/rails40/app/assets/javascripts 
    /Users/quatermain/Projects/rails40/app/assets/stylesheets 
    /Users/quatermain/Projects/rails40/vendor/assets/javascripts 
    /Users/quatermain/Projects/rails40/vendor/assets/stylesheets 
    /usr/local/rvm/gems/ruby-1.9.3-p392/gems/turbolinks-1.2.0/lib/assets/javascripts 
    /usr/local/rvm/gems/ruby-1.9.3-p392/gems/jquery-rails-3.0.1/vendor/assets/javascripts 
    /usr/local/rvm/gems/ruby-1.9.3-p392/gems/coffee-rails-4.0.0/lib/assets/javascripts 
    /usr/local/rvm/gems/ruby-1.9.3-p392/gems/zurb-foundation-4.2.3/scss 
    /usr/local/rvm/gems/ruby-1.9.3-p392/gems/zurb-foundation-4.2.3/js 
    (in /Users/quatermain/Projects/rails40/app/assets/stylesheets/style.scss:5) 

是Rails的4目前不支持通过compass-rails

+1

我也试图用compass-rails和Foundation创建一个新的rails 4应用程序,而且我没有运气。我找不到任何证据显示compass-rails支持rails 4,但我找不到任何相反的文档。 – Will

+3

我是compass-rails的新维护者。指南针轨道1.1.x系列的宝石在Rails 4上工作。一段时间以来,它并没有受到太多的关注,人们开始使用非官方的叉子来获得Rails 4的支持。我向你保证,今后我会对问题做出响应,并继续发布对即将发布的Compass和Rails版本的支持,以便compass-rails尽可能无缝地体验。 – craigmcnamara

回答

48

指南针需要有为了支撑轨4改写某些关键部位有您可以使用一个临时党支部已砍死在一起一定的支持:

'gem "compass-rails", github: "milgner/compass-rails", ref: "1749c06f15dc4b058427e7969810457213647fb8"

您可以按照 https://github.com/Compass/compass-rails/pull/59获取最新更新。

更新:

现在有处于alpha版本。

gem "compass-rails", "~> 2.0.alpha.0"

更新2: 罗盘导轨不再阿尔法。

将以下内容添加到您的Gemfile并键入bundle install

gem "compass-rails", "~> 1.1.2" 
+14

这样一个广泛使用的宝石像这样被忽略是一个真正的失望。希望很快会有官方支持。 – OneChillDude

+0

milgner/compass-rails存储库现在已经走了 – opsb

+1

是的,人们应该按照我的说明使用alpha。我会划掉旧的部分。 – sunnyrjuneja

0

看来,由于这一时间(2013年6月29日),指南针轨不支持的Rails 4.当我运行

rails generate foundation:install 

我得到下面的错误消息。

Unsupported rails environment for compass 
+0

错了。指南针轨道*不支持Rails 5或更高版本 –

0

我添加了所有的罗盘文件到我的供应商的文件夹和它的工作=),这可能不是最好的选择更长的时间=(

+1

Sunny Juneja解决方案正在运行,因此您不需要使用“供应商” – quatermain

4

我结束了使用所建议的alpha版本。阳光Juneja

但要使它工作,我不得不从我的Gemfile中删除资产组:

# Not working: 
group :assets do  # remove me olde line 
    gem 'sass-rails', '~> 4.0.0' 
    gem 'compass-rails' # specify me version 
end     # remove me too, says aye 

# Working: 
gem 'sass-rails', '~> 4.0.0' 
gem 'compass-rails', '~> 2.0.alpha.0' 
+8

这是因为在Rails 4中,对集团资产的支持已经下降。请参阅:http://stackoverflow.com/questions/16406204/why-did-rails4-drop-support-for-assets-group-in-the-gemfile – sunnyrjuneja

0

试试这个:

gem 'sass-rails' 
gem 'compass-rails', github: 'Compass/compass-rails' 

你也应该确保这些都不包括在您的资产组里面,因为它已经从Rails的4.0移除。

然后删除您的Gemfile.lock文件并使用bundle命令重新生成它。

rm Gemfile.lock 
bundle