rails 未初始化常量 Sprockets::SassCacheStore

rails uninitialized constant Sprockets::SassCacheStore

我是 rails 的新手,正在尝试玩弄 gem 等等。

我的情况是我的网站上有这个导航菜单,我需要选择 current_page link.. 而不是构建一个助手,我想安装一个 gem 所以我去找了一个,发现 this one.

然后我按照文档所说的进行操作:

在我的 gem 文件中添加了 gem 'rack_current_page'

然后在项目根目录下config.ru

require ::File.expand_path('../config/environment', __FILE__)
use Rack::CurrentPage
run Rails.application

最后我 运行:

bundlerails s 才发现我有这个错误:

uninitialized constant Sprockets::SassCacheStore

在布局文件中包含应用程序样式表时发生错误。

我正在使用以下软件包/版本(仅列出可能有影响的内容 - 如果我遗漏了什么请告诉我)

(-v)

在进行卸载时,我删除了我添加的每一行 - 哎呀,我还重置了我的项目文件,因为我刚刚开始处理它, 运行 一个新的包,重新启动了服务器,检查了站点,但我得到的只是上面的错误..

我用谷歌搜索并试图在 SO 上寻找类似的问题,但找不到任何问题,所以我唯一真正可以尝试的是卸载并重置我的 git。

我确实在查看一些非常愚蠢的东西,但找不到真正的答案,所以我来了 ;)

感谢任何帮助,如果我错过了你们需要的信息,请提前致谢并发表评论。

写作时间

实际上我很快gem pristine --all也没有结果。

编辑 1

好的,所以在(短)过去导致重新创建一个新的应用程序之前发生了一些猜测和同样的情况,我卸载了 compass-rails gem 和 运行 bundle 然后 rails s 测试是否开始工作。

确实如此。然后我继续 重新安装 compass-rails 它继续工作......现在变得很困惑 :S

好的,开始吧:

我发现了这个问题,并通过实际提供适用于 rails 4.2.

的版本解决了这个问题

默认gem compass-rails安装与sprockets不兼容的版本。

当我添加特定版本时 here 和 运行 另一个 bundle 我命名的大多数包的版本问题变了。

gemfile 修改后的控制台输出包括:

Installing sprockets 2.12.3 (was 3.0.0)
Using sprockets-rails 2.3.1 (was 2.2.4)
Installing sass-rails 5.0.1 (was 5.0.3)
Installing compass-rails 2.0.4 (was 2.0.1)

估计是在等指南针出兼容版本吧