1

vagrant (Ubuntu) で foreman start を実行しようとしています。

プロフィール

web:            bundle exec thin start --port 3000
private_pub:    bundle exec thin start --port 9292 --rackup private_pub.ru

private_pub.ru は私のルート ディレクトリの下にあり、Procfile も同様です。

私がこれを行うと(動作します):

rackup private_pub.ru -s thin -E production

そしてレールサーバーの後...

しかし、私がこれを行うとき:

foreman start

20:43:18 web.1          | started with pid 3447
20:43:18 private_pub.1  | started with pid 3450
20:43:20 private_pub.1  | /home/vagrant/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/controllers/controller.rb:183:in `load_rackup_config': Invalid rackup file.  please specify either a .ru or .rb file (RuntimeError)
20:43:20 private_pub.1  |       from /home/vagrant/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/controllers/controller.rb:71:in `start'
20:43:20 private_pub.1  |       from /home/vagrant/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/runner.rb:185:in `run_command'
20:43:20 private_pub.1  |       from /home/vagrant/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/runner.rb:151:in `run!'
20:43:20 private_pub.1  |       from /home/vagrant/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/bin/thin:6:in `<top (required)>'
20:43:20 private_pub.1  |       from /home/vagrant/.rvm/gems/ruby-1.9.3-p125/bin/thin:19:in `load'
20:43:20 private_pub.1  |       from /home/vagrant/.rvm/gems/ruby-1.9.3-p125/bin/thin:19:in `<main>'
20:43:20 private_pub.1  | process terminated
20:43:20 system         | sending SIGTERM to all processes
20:43:20 system         | sending SIGTERM to pid 3447
20:43:25 system         | sending SIGKILL to all processes
20:43:25 system         | sending SIGKILL to pid 3447
4

1 に答える 1

1

問題は Vagrant にあります。Procfile (windows で複製) には Windows の行末 (\r\n) があります。これにより、ファイルの末尾に改行があるため、「private_pub.ru\r」がラックアップ ファイルとして表示されるため、ここでのテスト: https://github.com/macournoyer/thin/blob/master/lib/thin /controllers/controller.rb#L176は失敗します。

問題を解決するには改行を削除してください。

于 2012-08-29T18:59:12.633 に答える