rails uninitialized constant Sprockets :: SassCacheStore

时间:2015-06-04 10:39:47

标签: ruby-on-rails ruby sass gem sprockets

我是铁杆的新手,并尝试用宝石等来玩。

我的情况是我在我的网站上有这个导航菜单,我需要选择current_page链接..而不是建立一个帮助器我想安装一个宝石所以我去寻找一个并找到了{{3 }}

然后我按照文档说的那样:

在我的gemfile中,我添加了 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

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

我使用以下软件包/版本(仅列出可能产生影响的内容 - 如果我错过了某些内容,请告知我们)

(< gem> -v)

  • Rails 4.2.1
  • Sprockets 3.0.0
  • Sass 3.4.13
  • Rack 1.5

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

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

我肯定会看到一些非常愚蠢的东西,但我真的找不到答案,所以我在这里;)

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

撰写时间

我实际上做了一个快速gem pristine --all但没有结果。

编辑1

好的,因为随着猜测工作和相同的情况发生,导致在(短)过去重新创建一个新应用程序,我卸载了compass-rails gem并运行bundle after {{1}测试事情是否开始起作用。

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

1 个答案:

答案 0 :(得分:6)

好的,所以这里:

我发现了问题,它通过实际提供适用于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)

猜猜它只是在等罗盘发布兼容版本。