为什么Rails无法通过“预期在`app / assets / config / manifest.js`中找到清单文件(Sprockets :: Railtie :: ManifestNeededError)”启动失败?


35

bundle update我的Rails应用无法启动后:

Expected to find a manifest file in `app/assets/config/manifest.js` (Sprockets::Railtie::ManifestNeededError)

Answers:


43

他们使用最新版本的链轮改变了一切。出现此错误是因为您尚未manifest.js创建。您需要创建一个,然后添加几行以确保一切正常。

解决问题的简单步骤:

  1. 创建manifest.js文件

    $ mkdir -p应用程序/资产/配置

    $ touch app / assets / config / manifest.js

  2. 然后以下内容复制并粘贴到刚创建的manifest.js文件中:

    //= link_tree ../images
    //= link_directory ../javascripts .js
    //= link_directory ../stylesheets .css
    
  3. 如果您的app/config/文件夹中有一个预编译数组(例如,请参见下面的示例),app/config/production.rb那么也许您应该将它们移到您的manifest.js

    config.assets.precompile = [“ admin.js”,“ admin.css”]

资料来源:感谢Richard Schneeman的博客-有关更多信息,请参见此处。


即使我有它仍然说的文件,也应该在app/assets/config/manifest.js
Chris Habgood中

@ChrisHabgood很难在没有更多上下文的情况下进行调试....也许启动了一个最小的应用程序来演示问题并发布到堆栈溢出?
BKSpurgeon

15

最近发布了链轮的一个新的主要版本,该版本与以前的版本不兼容。

执行升级或固定到Gemfile版本3.x 所需步骤

gem 'sprockets', '~>3.0'


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.