【发布时间】:2012-06-05 21:41:56
【问题描述】:
Rails 3.0.9。
在 Gemfile 中:
gem 'compass-rails' (1.0.1)
gem 'sass' (3.0.19)
...
group :development, :test do
gem 'guard' (1.0.3)
gem 'guard-sass' (0.6.0)
...
end
在此配置中,错误是:
ERROR: Sass > Syntax error: File to import not found or unreadable: compass.
Load paths:
/var/www/inbox/public
/var/www/inbox/public/images
/var/www/inbox/public/images/intro
...
(通常我可以看到缺少指南针的路径(即...ruby-1.9.3-p194-perf/gems/compass-0.12.1/frameworks/compass/stylesheets 不在那里),所以不知何故指南针没有被加载,我不知道该怎么做它加载。
当我将guard-sass 换成guard-compass 时,错误是:
ERROR: Rails.root is nil! (RuntimeError)
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/util.rb:370:in `rails_root'
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/plugin/rails.rb:11:in `default_options'
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/plugin/configuration.rb:33:in `options'
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/plugin/compiler.rb:38:in `initialize'
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/plugin.rb:63:in `new'
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/plugin.rb:63:in `compiler'
/home/jkl/.rvm/gems/ruby-1.9.3-p194-perf/gems/sass-3.1.19/lib/sass/plugin.rb:120:in `options'
...
我希望guard-livereload 在更新.sass 文件时能够正常工作。
请注意,通常指南针可以正常工作。在页面刷新时,新的 CSS 将从 SASS 文件中生成。
【问题讨论】:
-
试过前缀
bundle exec或使用我的 gemrubygems-bundler? -
我正在运行一个 zsh 插件,它为每个 rake/guard/etc 加上前缀。如果找到 Gemfile (github.com/pjg/dotfiles/blob/master/.zsh/bundler/…),则使用“bundle exec”命令。所以这里没有捆绑器问题:) 我认为这是某种排序问题,即在 compass-rails 有机会加载之前加载了 guard-sass。
标签: ruby-on-rails ruby-on-rails-3 sass compass-sass guard