Как добавить драгоценные камни в каталог поставщика/кеша в приложении Rails 3?
Я использую EngineYard, и у меня есть развертывание, которое терпит неудачу. Я получаю это сообщение:
Some gems seem to be missing from your vendor/cache directory.
Could not find rspec-core-2.6.0.rc2 in any of the sources
Как я могу убедиться, что эти драгоценные камни попадают в этот каталог?
Ответы
Ответ 1
Bundler отправляет команду, которая явно создает этот кеш
bundle package
После того, как вы установили этот пакет, установка будет проверять и обновлять каталог поставщика/кеша.
Если вы хотите установить драгоценные камни на машине без проверки на rubygems, вы просто запустите
bundle install --local
Однако будьте осторожны, если вы часто обновляете драгоценные камни (например, я делаю это каждый раз, когда выдается Subrelease Rails), ваш поставщик/кеш может быстро расти.
Мой текущий проект git репозиторий - 80 Мбайт, из которых более 30 Мб - это данные, хранящиеся в поставщике/кеше.
Было бы неплохо ускорить развертывание,
но в целом его просто сделало наш репозиторий намного большим.
Ответ 2
Если кто-то еще испытывает это при развертывании с Capistrano, это разрешило это для меня:
https://github.com/carlhuda/bundler/issues/1454
Наличие пустого каталога vendor/cache вызывало проблему в моем случае.
Решение было удалить (а не просто игнорировать содержимое!) каталога поставщика/кеша из управления версиями и совершить + развертывание.
Ответ 3
пакет без установки загрузочных камней.
bundle package --no-install
Ответ 4
Я понял это. Я просто набрал:
bundle
в командной строке, и он добавил отсутствующие драгоценные камни.