2011-12-19 45 views
39

Tôi đã biên soạn đường dẫn nội dung cho môi trường sản xuất của mình và nó đã làm cho tất cả các môi trường của tôi. Làm thế nào tôi có thể uncompile đường ống tài sản của tôi cho môi trường phát triển của tôi?Đường ống tài sản phát triển Uncompile

Tôi đã kiểm tra môi trường cấu hình/phát triển của mình và không thể tìm thấy bản sửa lỗi.

Cảm ơn trước sự giúp đỡ nào ...

Trả lời

80

Để loại bỏ tài sản precompiled sử dụng:

rake assets:clean 

Điều này về cơ bản không là loại bỏ các thư mục public/assets. Bạn có thể cần phải bao gồm biến số RAILS_ENV nếu bạn cần chạy nó cho một môi trường nhất định.

+10

Điều này không hiệu quả đối với tôi. Tôi đã phát hành 'RAILS_ENV = tài sản thực thi lệnh bó phát triển: clean'. – Tass

+1

cũng, hãy chắc chắn xóa bộ nhớ cache của trình duyệt của bạn. ngay cả sau khi bạn đã khởi động lại máy chủ của mình, các trang được phân phối vẫn có thể chứa bản sao được lưu trong bộ nhớ cache của tệp application.js đã biên dịch – Michael

+3

Không hoạt động ở đây, đã phải xóa toàn bộ thư mục 'công khai/tài sản'. –

5

Khi bạn chạy các nhiệm vụ biên dịch tại địa phương (trên máy tính của bạn phát triển) tài sản được biên dịch trong môi trường sản xuất Rails, nhưng được ghi vào thư mục công cộng.

Điều này có nghĩa là ngay cả khi bạn chạy trong chế độ phát triển, nó sẽ sử dụng các tài sản được biên dịch thay vì gửi yêu cầu đến đường ống. Đây là hành vi bình thường - các yêu cầu chỉ đi đến đường ống nếu tệp không tồn tại trong public/assets.

Tác vụ biên dịch thường chỉ nên được sử dụng khi triển khai và trên máy từ xa (sản xuất).

Nếu bạn đã biên dịch cục bộ, bạn có thể xóa tất cả các tệp trong thư mục public/assets và quá trình phát triển sẽ hoạt động như trước đây. Nếu bạn đã kiểm tra các tệp này vào kiểm soát nguồn, bạn cần xóa chúng.

Khi mọi thứ bị xóa sẽ hoạt động tốt. s Một mẹo cuối cùng: nếu đây là ứng dụng được nâng cấp, hãy kiểm tra cài đặt cấu hình của bạn với các cài đặt cấu hình trong số last section của hướng dẫn đường dẫn nội dung Rails.

+1

Ít nhất câu trả lời này không chỉ cung cấp một mã số câu trả lời một dòng, nhưng những nỗ lực giải thích. – jasonleonhard

32

Hãy thử sử dụng

rake assets:clobber 

làm việc cho tôi trong đường ray 4

+0

Hãy cẩn thận để giải thích lý do tại sao tính năng này hoạt động? Cho đến lúc đó tôi không thể bỏ phiếu cho câu trả lời của bạn và thẳng thắn ít người sẽ, câu trả lời SO sẽ giúp mọi người hiểu vấn đề không chỉ cung cấp một dòng mã. – jasonleonhard

+0

Nó xóa tài sản được biên dịch. Bạn cũng có thể xóa chúng theo cách thủ công, đây chỉ là một phím tắt. – mattecalcio

0

Đối với Rails 5:

$ RAILS_ENV=development bin/rake assets:clobber 
Các vấn đề liên quan