【问题标题】:Rails 3.2.12 app sass/compass @import failing in production onlyRails 3.2.12 app sass/compass @import 仅在生产中失败
【发布时间】:2013-02-12 20:55:14
【问题描述】:

好的,所以在我的 css.scss 文件中的 @import 需要扩展名之前,我遇到过这个问题:

@import 'layout.css.scss'

而不是

@import 'layout'

不知道为什么这只发生在生产中(在本地我没有问题)。我讨厌必须添加扩展名,不知道为什么,我想我必须输入它只是让我烦恼? :)

我遇到的问题是我似乎无法让指南针在生产中工作。我正在使用 compass-rails gem。我有一个 _config.css.scss 文件,顶部有以下导入:

@import "compass";
@import "compass/css3";

我尝试将 css.scss 添加到它们,然后找不到文件(甚至在本地)。所以我的问题是这样的:

有什么方法可以使用@import 而不必包含文件扩展名?

如果没有,我如何让 Compass 工作?

同样,这只会影响我的生产。

我已经尝试了一些在 Stackoverflow 上找到的不同方法,但没有任何帮助。

Sass import error in Rails 3 app - "File to import not found or unreadable: compass"

我在生产环境中运行应用时遇到的确切错误:

Completed 500 Internal Server Error in 920ms
ActionView::Template::Error (File to import not found or unreadable: compass.

更新

我确实成功地将 .scss 添加到我的指南针导入中

@import 'compass.scss'

这不再在本地引发“找不到文件”错误。

但在生产中我仍然收到此错误:

ActionView::Template::Error (File to import not found or unreadable: compass.scss

所以这告诉我,也许我的 Compass gem 在生产中无法正常工作?

【问题讨论】:

  • 指南针 gem 的哪个版本?哪个版本的 Rails?您在config/environments/production.rb 中设置了哪些与资产管道相关的配置选项?如果您设置为不在生产环境中编译资产,那么您是否在部署之前对其进行了预编译?
  • 你在预编译你的资产吗?
  • @normalocity 我正在使用版本 compass 0.12.2 和 compass-rails 1.0.3 @fotanus 我也是 Heroku 为我做的。我有 config.assets.initialize_on_precompile = true 也是因为 RefineryCMS 需要这个。 @lolmaus 我正在使用 RVM,是的。

标签: ruby-on-rails import sass asset-pipeline compass-sass


【解决方案1】:

删除您的Gemfile.lock 和 只需将 gem 'compass'gem 'compass-rails' 放入 Gemfile。 在此之后尝试 bundle install 用于生产环境。

【讨论】:

  • 谢谢。删除我的 Gemfile.lock 文件,然后使用 bundle install 重新创建它对我有用。
猜你喜欢
  • 2011-11-10
  • 2013-12-31
  • 2012-08-16
  • 1970-01-01
  • 2016-01-04
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 2020-05-29
相关资源
最近更新 更多