【问题标题】:Does compass-rails support Ruby on Rails 4.0?compass-rails 是否支持 Ruby on Rails 4.0?
【发布时间】:2013-06-24 19:55:22
【问题描述】:

我有一个全新的带有 Gemfile 的 Rails 4 应用程序:

#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)

compass-rails 目前不支持 Rails 4 吗?

【问题讨论】:

  • 我也在尝试使用 compass-rails 和 Foundation 创建一个新的 rails 4 应用程序,但没有运气。我找不到任何证据表明 compass-rails 确实支持 rails 4,但我也找不到任何相反的文档..
  • 我是 compass-rails 的新维护者。 compass-rails 1.1.x 系列 gems 在 Rails 4 上工作。有一段时间没有引起太多关注,人们开始使用非官方的 fork 来获得 Rails 4 的支持。我可以向您保证,今后我会及时响应问题并继续发布对即将推出的 Compass 和 Rails 版本的支持,因此 compass-rails 将尽可能提供无缝体验。

标签: compass-sass ruby-on-rails-4


【解决方案1】:

为了支持 Rails 4,Compass 需要重写一些关键部分。您可以使用一个临时分支,其中包含一些支持:

'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: compass-rails 不再处于 alpha 阶段。

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

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

【讨论】:

  • 如此广泛使用的宝石却被如此忽视,真是令人遗憾。希望官方支持很快就会提供。
  • milgner/compass-rails 存储库现已消失
  • 是的,人们应该按照我的指示使用 alpha。我会划掉旧的部分。
  • 现在 2.0.alpha.0 gem 因某种原因被拉出,破坏了我们的部署过程。有谁知道怎么回事?
  • 在下面查看我的答案。只需在 Gemfile 中使用 stable 分支(无版本字符串)并运行 bundle update。
【解决方案2】:

我最终使用了 Sunny Juneja 建议的 alpha 版本。

但为了让它工作,我必须从我的 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】:

大约 18 小时前,compass-rails 的 stable 分支支持 Rails 4。从 Gemfile 中的 compass-rails 中删除版本字符串“2.0.alpha.0”并运行bundle update。

这是提交历史记录:

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

【讨论】:

  • 感谢您查看此内容。
【解决方案4】:

截至目前 (06/29/2013) compass-rails 似乎不支持 Rails 4。当我运行时

rails generate foundation:install

我收到以下错误消息。

Unsupported rails environment for compass

【讨论】:

  • 错了。 compass-rails 是否支持 Rails 5 或更高版本
【解决方案5】:

我将所有指南针文件添​​加到了我的供应商文件夹中,并且它有效 =),这可能不是更长时间的首选选项 =(.

【讨论】:

  • Sunny Juneja 解决方案正在运行,因此您不需要使用“供应商”
【解决方案6】:

试试这个:

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

您还应该确保这些不包含在您的资产组中,因为它已从 Rails 4.0 中删除。

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

rm Gemfile.lock
bundle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多