【问题标题】:rails uninitialized constant Sprockets::SassCacheStorerails 未初始化的常量 Sprockets::SassCacheStore
【发布时间】:2015-08-18 22:27:28
【问题描述】:

我是 Rails 新手,正在尝试玩一些宝石之类的东西。

我的情况是我的网站上有这个导航菜单,我需要选择 current_page 链接。我想安装一个 gem,而不是构建一个 helper,所以我去找了一个并找到了 this one .

然后我按照文档所说的:

在我的 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

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

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

( -v)

  • Rails 4.2.1
  • 链轮 3.0.0
  • Sass 3.4.13
  • 机架 1.5

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

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

我肯定在寻找一些非常愚蠢但无法真正找到答案的东西,所以我在这里;)

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

写作时间

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

编辑 1

好的,因此,在不久前重新创建了一个新的应用程序之前发生了一些猜测和同样的情况,我卸载了compass-rails gem 并运行bundle,然后rails s 来测试是否有问题开始工作了。

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

【问题讨论】:

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


    【解决方案1】:

    好的,那就这样吧:

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

    猜猜它只是在等待指南针发布兼容版本。

    【讨论】:

    • 你的 gem 文件是什么样的?你收到这条消息了吗? The bundle currently has sprockets locked at 3.3.4.
    • @Defonesko 问题已经得到解答,但仅供参考:我没有收到锁定的 gem 消息。
    猜你喜欢
    • 2015-09-12
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多