我的Rails 3应用程序可以成功运行compass init rails ./ --using blueprint
。我可以从/stylesheets目录中@import
文件,但是当我尝试@import compass
时会出现错误。
现在该应用程序有两个简单的sass文件:
common.scss
$body-background: blue;
main.scss
@import "common";
//@import "compass";
body {
background: $body-background;
}
如果注释掉 @import "compass"
这行,那么这段代码是可以工作的——我会得到一个蓝色的背景,因此我知道 Sass 是正常工作的。
但是如果我取消注释这行,并尝试导入 compass
或者 blueprint
或其他任何东西,我会得到以下类似的错误信息。
Syntax error: File to import not found or unreadable: compass.
Load paths:
/Users/eric/path/to/myrailsapp/app/stylesheets
on line 2 of /Users/eric/path/to/myrailsapp/app/stylesheets/main.scss
1: @import "common";
2: @import "compass";
3:
4: body {
5: background: $body-background;
6: }
我曾认为可能需要明确告诉Sass去哪里找Compass gem,因此我在config/compass.rb中添加了一行add_import_path
:
require 'compass'
require 'html5-boilerplate'
project_type = :rails
project_path = RAILS_ROOT if defined?(RAILS_ROOT)
add_import_path "/Library/Ruby/Gems/1.8/gems/" # unfortunately this has no effect
http_path = "/"
css_dir = "public/stylesheets"
sass_dir = "app/stylesheets"
images_dir = "public/images"
javascripts_dir = "public/javascripts"
cache_dir = "tmp/sass-cache"
http_images_path = "/images"
http_stylesheets_path = "/stylesheets"
http_javascripts_path = "/javascripts"
我已经谷歌了两天,但是无法确定为什么使用基本的@import
语句时会出现问题。如何告诉Sass去哪里找Compass和Blueprint库?
compass.rb
出了问题。我没有在application.rb
中做任何更改。所以首先删除compass.rb
。 - Ashley