Perché Rails non si avvia con "Previsto di trovare un file manifest in" app / assets / config / manifest.js` (Sprockets :: Railtie :: ManifestNeededError) "?


36

Dopo che la bundle updatemia app Rails non si avvia con:

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

Risposte:


44

Hanno cambiato le cose con l'ultima versione dei pignoni. Questo errore si presenta perché non ne hai manifest.jscreato uno . Devi crearne uno e aggiungere alcune righe per assicurarti che le cose funzionino.

Semplici passi per risolvere il problema:

  1. Crea il file manifest.js

    $ mkdir -p app / assets / config

    $ touch app / assets / config / manifest.js

  2. Quindi copia e incolla quanto segue nel file manifest.js appena creato:

    //= link_tree ../images
    //= link_directory ../javascripts .js
    //= link_directory ../stylesheets .css
  3. Se hai una matrice precompilata nella tua app/config/cartella (vedi sotto per un esempio), ad esempio, app/config/production.rbforse dovresti spostarli nella tuamanifest.js

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

Fonte: grazie al blog di Richard Schneeman - vedi qui per maggiori informazioni ..


Anche se ho il file che ancora dice, mi aspettavo di trovare un file manifestapp/assets/config/manifest.js
Chris Habgood

@ChrisHabgood è molto difficile eseguire il debug senza più contesto ....... forse è possibile creare un'app minima per dimostrare il problema e pubblicare uno stack di overflow?
BKSpurgeon,

16

È stata recentemente rilasciata una nuova versione principale di ruote dentate che non è compatibile con la versione precedente.

Eseguire i passaggi necessari per l'aggiornamento o aggiungere alla versione 3.x in Gemfile

gem 'sprockets', '~>3.0'


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.