Как указать тонкий адаптер Rack, а не адаптер Rails при запуске

Я использую Capistrano для развертывания приложения. Следующая команда работает, если я ввожу ее на терминале через SSH:
thin start -p 20480 -e production -d

Но когда он запускается через Capfile, например:
run "cd #{current_path} && thin start -p 20480 -e production -d"

В логе такая ошибка:

Запись PID в tmp/pids/thin.pid
Использование адаптера rails
Выход!
/usr/local/rvm/rubies/ruby-1.8.6-p369/lib/ruby/1.8/yaml.rb :133:в load': syntax error on line 2, col 8: спецификациях:' (ArgumentError)

Разница во второй строке: Использование адаптера rails. Когда я сам ввожу эту команду на терминале, появляется сообщение Использование адаптера стойки.

Есть идеи, как это исправить? Большое спасибо за любые предложения.

С уважением, Тони.


person georget    schedule 23.01.2011    source источник


Ответы (1)


Попробуйте явно указать, какой адаптер вы хотите использовать. Вы можете сделать это с помощью переключателя --adapter. Таким образом, ваша строка кода будет выглядеть так:

run "cd #{current_path} && thin start -p 20480 -e production -d --adapter rack"

Может быть, это поможет.


PS.

тонкий --help говорит:

-A, --adapter NAME   Rack adapter to use (default: autodetect)
                     (rack, rails, ramaze, halcyon, merb, 
                      mack, mack, file)
person Szymon Jeż    schedule 15.02.2011