Mengapa Rails gagal melakukan booting dengan “Diharapkan menemukan file manifes di` app / assets / config / manifest.js` (Sprockets :: Railtie :: ManifestNeededError) ”?

36

Setelah bundle updateaplikasi Rails saya gagal boot dengan:

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

Jawaban:

44

Mereka telah mengubah banyak hal dengan sprocket versi terbaru. Kesalahan ini muncul karena Anda belum manifest.jsmembuat. Anda perlu membuatnya, dan menambahkan beberapa baris untuk memastikan semuanya berfungsi.

Langkah Mudah Untuk Memecahkan Masalah:

  1. Buat file manifest.js

    $ mkdir -p aplikasi / aset / konfigurasi

    $ touch app / assets / config / manifest.js

  2. Kemudian salin dan tempel yang berikut ini ke file manifest.js yang baru saja Anda buat:

    //= link_tree ../images
    //= link_directory ../javascripts .js
    //= link_directory ../stylesheets .css
  3. Jika Anda memiliki array precompile di app/config/folder Anda (lihat di bawah untuk contoh) misalnya app/config/production.rbmaka mungkin Anda harus memindahkannya kemanifest.js

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

Sumber: Terima kasih kepada blog Richard Schneeman - lihat di sini untuk informasi lebih lanjut ..

BKSpurgeon
sumber
Meskipun saya memiliki file itu masih berkata, Diharapkan untuk menemukan file manifes diapp/assets/config/manifest.js
Chris Habgood
@ChrisHabgood sangat sulit untuk di-debug tanpa lebih banyak konteks ....... mungkin memunculkan aplikasi minimal untuk demo masalah dan memposting ke stack overflow?
BKSpurgeon
16

Versi utama sprocket baru-baru ini dirilis yang tidak kompatibel dengan versi sebelumnya.

Lakukan langkah - langkah yang diperlukan untuk memutakhirkan atau menyematkan ke versi 3.x di Gemfile

gem 'sprockets', '~>3.0'
Keris
sumber