Rails и Capistrano — проблемы с развертыванием gem

Я заморозил свои драгоценные камни локально и зафиксировал их в последней версии git. Я отправил это на свой рабочий сервер, и мой файл capfile автоматически извлекает это при развертывании (через локально сохраненный git).

Теперь проблема, с которой я сталкиваюсь, заключается в том, что, хотя я знаю, что на сервере установлен драгоценный камень, при развертывании с использованием «cap deploy: cold» я получаю следующую ошибку:

*** [err :: domain.com] Missing these required gems:
*** [err :: domain.com] RedCloth
*** [err :: domain.com] 
*** [err :: domain.com] You're running:
*** [err :: domain.com] ruby 1.8.7.174 at /usr/bin/ruby1.8
*** [err :: domain.com] rubygems 1.3.5 at /home/user/.gem/ruby/1.8, /usr/lib/ruby/gems/1.8
*** [err :: domain.com] 
*** [err :: domain.com] Run `rake gems:install` to install the missing gems.

Должен ли я запускать rake gems:install в последней версии? Когда я это делаю, ничего не происходит. Должен ли я делать rake gems:build something; в моем шапке? Я делаю это в последнем выпуске через консоль и в этом каталоге, и я не получаю уведомлений о том, что что-то было построено, но я, вероятно, не понимаю эту функцию с самого начала.

Что мне не хватает?

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


person Steve    schedule 11.02.2010    source источник


Ответы (1)


Поскольку вы говорите, что gem list включает RedCloth, проблема должна быть в другом.

Как вы включаете Gem в свое приложение? RedCloth немного нетрадиционен. Название драгоценного камня — CamelCase, а основной файл — строчными буквами.

По этой причине вы должны указать опцию :lib.

config.gem "RedCloth", :lib => "redcloth"
person Simone Carletti    schedule 11.02.2010
comment
Похоже, это не сработало, но я пока исключил его из приложения. Это вызывает слишком сильную головную боль. - person Steve; 12.02.2010