【问题标题】:rails development environment circular dependency errorrails开发环境循环依赖错误
【发布时间】:2012-03-28 14:37:25
【问题描述】:

昨晚我认为我做了一些破坏我的 Rails 开发环境的事情,我无法扭转我所做的事情。

我将更新迁移到生产环境,但在预编译样式表时遇到了一些问题,因此我取消了更改并决定尝试在我的开发机器上进行预编译。

长话短说,我的开发机器(本地)上的预编译失败,但是当我尝试启动我的测试系统时,我得到了这个错误:

Sprockets::CircularDependencyError in Devise/sessions#new

/app/assets/stylesheets/application.css 已经被要求了

我确信这与我尝试的预编译有关,即使它失败了,因为在此之前一切正常。

我尝试做 precompile:clear 因为我在某个地方读到了会反转/删除预编译的地方。

我在这里遗漏了什么吗?预编译是否会更改我需要手动重置的配置文件?

这是在 Ubuntu 11.10 上运行的 rails 3.1。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 asset-pipeline precompile


    【解决方案1】:

    发生这种情况是因为您的 application.css.scss 很可能需要一个需要 application.css.scss 的 css 文件。您将需要检查app/assets/stylesheets 并检查application.css.scss 的标头,然后检查它所需的所有文件的标头,以确保它们都没有引用application.css.scss

    【讨论】:

    • 谢谢!是的,事情就是这样。
    • 谢谢。我在目录树中有一个app/assets/stylesheets/application.css.orig。这导致了我的问题。
    • Ultraedit(我的文本编辑器)在样式表文件夹中自动创建 .bak 备份文件,这导致了同样的错误。删除它们(并关闭该功能!)解决了问题。
    【解决方案2】:

    我通过创建 application.css.scss 并在其中导入我的每个文件来修复它,如下所示:

    @import "backend.css.scss"; @import "frontend.css.scss";

    然后就成功了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 1970-01-01
      • 2015-07-24
      • 2016-02-05
      • 2019-02-21
      相关资源
      最近更新 更多