Does compass-rails support Ruby on Rails 4.0?

為{幸葍}努か 提交于 2019-11-28 23:53:31

问题


I have clean new Rails 4 app with Gemfile:

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

with 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);
}

And I have this error:

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)

Is Rails 4 not currently supported by compass-rails?


回答1:


Compass needs to have some key parts rewritten in order to support Rails 4. There is a temporary branch you can use that has hacked together some support:

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

You can follow https://github.com/Compass/compass-rails/pull/59 for the latest updates.

Update:

There is now a version in alpha.

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

Update 2: compass-rails is no longer in alpha.

Add the following to your Gemfile and type bundle install.

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



回答2:


I ended up using the alpha version suggested by Sunny Juneja.

But to make it work I had to remove the assets group from my 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'



回答3:


As of about 18 hours ago, the stable branch of compass-rails supports Rails 4. Remove the version string "2.0.alpha.0" from compass-rails in your Gemfile and run bundle update.

Here's the commit history:

https://github.com/Compass/compass-rails/commits/stable




回答4:


It appears that as of this time (06/29/2013) compass-rails does not support Rails 4. When I run

rails generate foundation:install

I get the error message below.

Unsupported rails environment for compass



回答5:


I added all of the compass files to my vendor folder and it worked =), this may not be the preferable option for much longer =(.




回答6:


Try this:

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

You should also make sure these are NOT included inside your asset group, since it has been removed from Rails 4.0.

Then remove your Gemfile.lock file and regenerate it using the bundle command.

rm Gemfile.lock
bundle


来源:https://stackoverflow.com/questions/17341042/does-compass-rails-support-ruby-on-rails-4-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!