2016-05-24 3 views
1

Я пытаюсь упаковать приложение rails в качестве драгоценного камня. Часть того, что я хочу поместить в драгоценный камень, - это предварительно скомпилированные активы (поэтому пользователю это не нужно беспокоиться). Тем не менее, gem build <my_gemspec> дросселирует на супер длинных именах файлов переваренных предварительно скомпилированных файлов в public/assets. Кто-нибудь еще прошел через это?Обход Gem :: Package :: TooLongFileName issue

Спасибо!

Другое примечание: это не драгоценный камень, который будет использоваться другим приложением. Скорее это упаковка автономных рельсов. Драгоценный камень облегчает людям использовать его, просто называя его исполняемый файл для запуска.

+0

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

+1

Действительно, согласно официальным рельсам docs (http://guides.rubyonrails.org/engines.html#separate-assets-precompiling), рекомендуется определить активы для предварительной компиляции в инициализаторе. –

ответ

0

я обойти эту проблему, выполнив:

config.assets.configure do |env| 
    env.digest_class = Digest::MD5 
end 

который сократил имена активов достаточно, сохраняя при этом дайджесте