1

我正在使用 Capistrano 部署应用程序。如果我通过 SSH 在终端输入以下命令,则以下命令有效:
thin start -p 20480 -e production -d

但是当它通过 Capfile 运行时,例如:
run "cd #{current_path} && thin start -p 20480 -e production -d"

它在日志中有这个错误:


使用 rails 适配器将 PID 写入 tmp/pids/thin.pid
退出!
/usr/local/rvm/rubies/ruby-1.8.6-p369/lib/ruby/1.8/yaml.rb:133:in load': syntax error on line 2, col 8: specs:' (ArgumentError)

不同之处在于第二个 lin:使用 rails adapter。当我自己在终端输入此命令时,它会显示Using Rack adapter。

知道如何解决这个问题吗?非常感谢您的任何建议。

最好的问候,托尼。

4

1 回答 1

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)
于 2011-02-15T11:46:42.360 回答