【问题标题】:Rails Server won't start, Deprecation Warning in Rails 5 (MIME? Sprockets?)Rails Server 无法启动,Rails 5 中的弃用警告(MIME?Sprockets?)
【发布时间】:2016-11-25 16:15:36
【问题描述】:

我使用“rails s”,但服务器无法启动。我也刚开始。当我重新启动它时,我得到了这个:

=> Booting Puma
=> Rails 5.0.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.
https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors
 (called from block (2 levels) in <class:Railtie> at /Users/bwkeeton/.rvm/gems/ruby-2.3.1@global/gems/sass-rails-5.0.5/lib/sass/rails/railtie.rb:57)
DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.
https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors
 (called from block (2 levels) in <class:Railtie> at /Users/bwkeeton/.rvm/gems/ruby-2.3.1@global/gems/sass-rails-5.0.5/lib/sass/rails/railtie.rb:58)
Exiting

我不知道是什么问题。我更新了我的 Gemfile 以包含 Web Console 3.0,就像提到的其他问题之一一样,但它没有帮助。我不确定如何修复注册引擎等等。

【问题讨论】:

    标签: ruby-on-rails ruby mime-types ruby-on-rails-5


    【解决方案1】:

    弃用警告与this 相关,由 Sprockets 3.7.0 引起。我猜 Sprockets 4 中的情况正在发生变化,它要求您在调用 register_engine 之前注册一个 mime 类型。

    无论如何,弃用警告应该很快在 sass-rails 中修复。但不知道为什么你的服务器没有启动。我怀疑它与此无关。您可以提供更多信息吗?

    更新:折旧警告现已在 sass-rails 版本 5.0.6 中得到修复。

    【讨论】:

    • 我实际上仍然在 sass-rails 5.0.6 (OS X) 上遇到错误
    • 在 github issue 上有一个关于它的讨论。它可能是您的 Gemfile 中的另一个 gem,它与 Sprockets 4(或 3.7)不兼容,可能会产生弃用警告。
    • @joshaidan 是对的。对我来说,升级 less-rails 有帮助。请查看 Gemfile.lock 以查看哪些 gem 与 Sprockets 有依赖关系。
    【解决方案2】:

    我同意@joshaidan 的回答。

    如果您真的不想要该警告,您可以将sprockets 版本降级为3.6.3 您所要做的就是: 添加

    gem 'sprockets', '3.6.3'

    给你 gem 文件。 现在运行

    bundle update sprockets
    

    希望这能暂时解决您的问题。

    【讨论】:

    • 我不太明白为什么,但是这行得通。就像@joshaidan 说的,不知道为什么,但是服务器现在开始了。 /难以置信
    • 弃用警告已在 sass-rails 5.0.6 中修复。 Sass-rails 是调用 Sprockets 并导致弃用警告的原因,因为其中的一项功能发生了变化。
    【解决方案3】:

    我多次遇到同样的问题。

    警告我是一个新手,通过一个名为 Wyncode 的训练营,现在总共只使用了 7 周的 ROR 编程。

    我的导师 Ed Toro 在他的 github = @eddroid 上有一个要点(第 3 步),用于找到他喜欢称之为“失去的美洲狮”的东西。这可能是您的服务器没有的原因运行

    我采取的步骤让我的服务器再次运行..

    1. 尝试退出终端(不确定您的操作系统),但有时在 MAC 上就是您所需要的一切

    2. 检查您在其他地方是否有终端窗口,可能正在运行服务器。由于 sprockets 问题及其警告.. 有时您会错过它.. 如果您确实看到该错误。然后 第 3 步 其他 第 4 步:

    3. https://gist.github.com/eddroidhttps://gist.github.com/eddroid/66980336dad2609341f28b8bbd632fa5.js

    4. 重新启动和/或关闭您的计算机。它只是解决了我的问题。

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      sass-rails 5.0.6 为我解决了这个问题!

      bundle update sass-rails

      【讨论】:

        【解决方案5】:

        只需升级到 sass-rails 5.0.6。

        如果版本被锁定,您可能需要编辑您的 Gemfile。

        bundle update sass-rails

        这适用于其依赖项:

         Using sprockets-rails 3.1.1
         Using sprockets 3.7.0
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-03-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多