¿Por qué Rails no se inicia con "Se esperaba encontrar un archivo de manifiesto en` app / assets / config / manifest.js` (Sprockets :: Railtie :: ManifestNeededError) "?

36

Después de que bundle updatemi aplicación Rails no se inicie con:

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

Respuestas:

44

Han cambiado las cosas con la última versión de piñones. Este error aparece porque no tiene un manifest.jscreado. Debe crear uno y agregar algunas líneas para asegurarse de que todo funcione.

Pasos sencillos para resolver el problema:

  1. Cree el archivo manifest.js

    $ mkdir -p app / assets / config

    $ touch app / assets / config / manifest.js

  2. Luego copie y pegue lo siguiente en el archivo manifest.js que acaba de crear:

    //= link_tree ../images
    //= link_directory ../javascripts .js
    //= link_directory ../stylesheets .css
  3. Si tiene una matriz de precompilación en su app/config/carpeta (consulte a continuación un ejemplo), por ejemplo app/config/production.rb, tal vez debería moverlos a su carpetamanifest.js

    config.assets.precompile = ["admin.js", "admin.css"]

Fuente: Gracias al blog de Richard Schneeman. Consulte aquí para obtener más información.

BKSpurgeon
fuente
A pesar de que tengo el archivo que dice Stills, que se espera encontrar un archivo de manifiesto enapp/assets/config/manifest.js
Chris Habgood
@ChrisHabgood es muy difícil de depurar sin más contexto ... ¿quizás activar una aplicación mínima para demostrar el problema y publicar para desbordar la pila?
BKSpurgeon el
16

Recientemente se lanzó una nueva versión principal de piñones que no es compatible con la versión anterior.

Realice los pasos necesarios para actualizar o ancle a la versión 3.x en Gemfile

gem 'sprockets', '~>3.0'
Kris
fuente