Rails 3.2.12 app sass/compass @import仅在生产中失败

jar*_*lor 5 import ruby-on-rails sass asset-pipeline compass-sass

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

@import 'layout.css.scss'
Run Code Online (Sandbox Code Playgroud)

代替

@import 'layout'
Run Code Online (Sandbox Code Playgroud)

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

我遇到的问题是我似乎无法在生产中使用指南针.我正在使用指南针轨道宝石.我有一个_config.css.scss文件,其顶部有以下导入:

@import "compass";
@import "compass/css3";
Run Code Online (Sandbox Code Playgroud)

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

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

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

这再次影响了我的生产.

我已经尝试了一些我在Stackoverflow上发现的不同的东西,但没有任何帮助.

Rails 3应用程序中的Sass导入错误 - "导入未找到或不可读的文件:指南针"

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

Completed 500 Internal Server Error in 920ms
ActionView::Template::Error (File to import not found or unreadable: compass.
Run Code Online (Sandbox Code Playgroud)

UPDATE

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

@import 'compass.scss'
Run Code Online (Sandbox Code Playgroud)

这不再局部抛出"找不到文件"错误.

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

ActionView::Template::Error (File to import not found or unreadable: compass.scss
Run Code Online (Sandbox Code Playgroud)

所以这告诉我,可能我的Compass宝石在生产中无法正常工作?

sk1*_*712 8

删除你的Gemfile.lock,只是把 gem 'compass'gem 'compass-rails'在Gemfile中.在此尝试bundle install生产环境.

  • 谢谢.删除我的Gemfile.lock文件然后使用`bundle install`重新创建它对我有用. (3认同)