Tại sao Rails không khởi động được với Dự kiến ​​sẽ tìm thấy tệp kê khai trong `app / nội dung / config / manifest.js` (Sprockets :: Railtie :: ManifestNeededError)?


36

Sau khi bundle updateứng dụng Rails của tôi không khởi động được với:

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

Câu trả lời:


44

Họ đã thay đổi mọi thứ với phiên bản mới nhất của sprockets. Lỗi này xuất hiện do bạn chưa manifest.jstạo. Bạn cần tạo một và thêm vào một vài dòng để đảm bảo mọi thứ đang hoạt động.

Các bước dễ dàng để giải quyết vấn đề:

  1. Tạo manifest.js tập tin

    $ mkdir -p ứng dụng / tài sản / cấu hình

    $ touch ứng dụng / tài sản / config / manifest.js

  2. Sau đó sao chép và dán đoạn mã sau vào tệp manifest.js bạn vừa tạo:

    //= link_tree ../images
    //= link_directory ../javascripts .js
    //= link_directory ../stylesheets .css
  3. Nếu bạn có một mảng tiền biên dịch trong app/config/thư mục của bạn (xem ví dụ bên dưới), ví dụ như app/config/production.rbcó lẽ bạn nên chuyển chúng sangmanifest.js

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

Nguồn: Cảm ơn blog của Richard Schneeman - xem tại đây để biết thêm thông tin ..


Mặc dù tôi có tệp mà nó vẫn nói, Dự kiến ​​sẽ tìm thấy tệp kê khai trongapp/assets/config/manifest.js
Chris Habgood

@ChrisHabgood rất khó để gỡ lỗi mà không có thêm ngữ cảnh ....... có lẽ nên quay một ứng dụng tối thiểu để demo vấn đề và đăng lên ngăn xếp tràn?
BKSpurgeon

16

Một phiên bản chính mới của sprockets đã được phát hành gần đây không tương thích với phiên bản trước.

Thực hiện các bước cần thiết để nâng cấp hoặc ghim lên phiên bản 3.x trong Gemfile

gem 'sprockets', '~>3.0'


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.