Как добавить драгоценные камни в каталог поставщика/кеша в приложении 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

в командной строке, и он добавил отсутствующие драгоценные камни.