2011-12-19 7 views
39

Я составлял конвейер активов для своей производственной среды, и это было сделано для всех моих сред. Как я могу скомпрометировать мой конвейер для моей среды разработки?Некомпилировать конвейер активов разработки

Я проверил свою конфигурацию/среду разработки и не могу найти исправление.

Заранее спасибо за любую помощь ...

ответ

80

Для удаления использовать скомпилированные активы:

rake assets:clean 

что это в основном делает это удалить каталог public/assets. Возможно, вам потребуется включить переменную RAILS_ENV, если вам нужно запустить ее для определенной среды.

+10

Это не сработало для меня. Мне пришлось выпустить 'RAILS_ENV = пакет разработчика exec rake assets: clean'. – Tass

+1

также не забудьте очистить кеш браузера. даже после перезапуска сервера, страницы, которые обслуживаются, могут по-прежнему включать в себя кешированную копию скомпилированного файла application.js. – Michael

+3

Не работало здесь, пришлось удалить всю папку «public/assets». –

5

При выполнении задачи компиляции локально (на вашей машине) активы собраны в производственной среде Rails, но записываются в общую папку.

Это означает, что даже при запуске в режиме разработки он будет использовать скомпилированные активы вместо отправки запросов в конвейер. Это нормальное поведение - запросы идут только на конвейер, если файл не существует в public/assets.

Задача компиляции обычно должна использоваться только при развертывании и на удаленной (производственной) машине.

Если вы скомпилировали локально, вы можете удалить все файлы в папке public/assets, и разработка будет вести себя по-прежнему. Если вы проверили эти файлы в исходном элементе управления, вам нужно их удалить.

После удаления вещи должны работать нормально. s Последний совет: если это обновленное приложение, проверьте настройки своей конфигурации в настройках конфигурации last section руководства по конвейеру Rails.

+1

По крайней мере, этот ответ не только предоставить код ответа на одну строку, но попытки объяснить. – jasonleonhard

32

Попробуйте использовать

rake assets:clobber 

работал для меня в рельсам 4

+0

Упоминайте, почему это работает? До тех пор я не могу проголосовать за ваш ответ, и, честно говоря, мало кто будет, так что ответы должны помочь людям понять проблему, а не просто предоставить код. – jasonleonhard

+0

Удаляет скомпилированные активы. Вы также можете вручную удалить их, это просто ярлык. – mattecalcio

0

Для Rails 5:

$ RAILS_ENV=development bin/rake assets:clobber 
Смежные вопросы