2012-07-05 19 views
10

Trong ứng dụng của tôi, tôi nhận được một ứng dụng Sprockets :: CircularDependencyError đã được yêu cầu. Điều này ảnh hưởng đến mọi trang trong ứng dụng của tôi vì không có tệp JS nào tải. Lưu ý - lỗi này xảy ra sau khi hợp nhất khá phức tạp.Sprockets :: CircularDependencyError application.js đã được yêu cầu

Giả định của tôi (hãy sửa tôi nếu tôi sai) là lỗi này xảy ra vì hai tệp khác nhau yêu cầu application.js. Nếu vậy, tôi nên xem xét các tệp nào để gỡ lỗi này? Làm cách nào để kiểm tra ứng dụng của tôi để xác định tệp nào đã yêu cầu application.js?

Cảm ơn bạn rất nhiều vì đã giúp đỡ. Tôi rất sẵn lòng cung cấp bất kỳ thông tin cần thiết nào.

Trả lời

20

"lỗi này xảy ra sau khi một kết hợp khá phức tạp."

tôi chắc chắn rằng cuộc xung đột chắc chắn sẽ có trong tập tin application.js quá .. Sau khi hợp nhất bạn có thể không đã gỡ bỏ các ứng dụng phụ .js. * tập tin kiểm soát phiên bản của bạn tạo ra cho bạn, nơi cả hai người trong số họ sẽ có dòng require tree hoặc một cái gì đó .. tức là cả hai đòi hỏi lẫn nhau do đó phụ thuộc vòng tròn. Đảm bảo không có tệp phụ như vậy trong thư mục đó ...

+0

Bạn hoàn toàn đúng, tôi đã không nhận ra rằng nó sẽ tải ứng dụng.js.orig. Cảm ơn rất nhiều! ... Tôi sẽ đánh dấu nó ngay sau khi stackoverflow cho phép tôi ... – wir963

+0

vui vì nó đã giúp! đối mặt với vấn đề chính xác tương tự một thời gian trở lại :) ..... –

+1

Đối với tôi, đó là codekit tự động giảm thiểu application.js. 'rm app/assets/javascript/application.min.js' đã thực hiện thủ thuật. –