更新
我做了以下事情,这是我仍在日志中的调用堆栈:
2012-08-06T12:30:57+00:00 heroku[slugc]: Slug compilation finished
2012-08-06T12:30:58+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e $RACK_ENV -p 56970`
2012-08-06T12:30:59+00:00 app[web.1]: bash: bundle: command not found
2012-08-06T12:31:00+00:00 heroku[web.1]: Process exited with status 127
2012-08-06T12:31:00+00:00 heroku[web.1]: State changed from starting to crashed
2012-08-06T12:31:08+00:00 heroku[router]: Error H10 (App crashed) -> GET arcane-garden-1058.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-08-06T12:31:08+00:00 heroku[router]: Error H10 (App crashed) -> GET arcane-garden-1058.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=
2012-08-06T12:31:09+00:00 heroku[router]: Error H10 (App crashed) -> GET arcane-garden-1058.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-08-06T12:31:10+00:00 heroku[router]: Error H10 (App crashed) -> GET arcane-garden-1058.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=
我的 Procfile 文件现在看起来像这样:
root: = ::File.dirname(__FILE__)
require: ::File.join( root, 'app' )
web: bundle exec thin start -R config.ru -e $RACK_ENV -p $PORT
run: WPL.new
Gemfile 看起来像这样:
source :rubygems
gem 'thin'
gem 'sinatra'
gem 'shotgun'
gem 'sinatra'
gem 'mongo'
gem 'json'
我的 app.rb 现在看起来像这样: require 'shotgun' require 'sinatra' require 'mongo' require 'json/pure'
class WPL < Sinatra::Application
db = Mongo::Connection.new.db('docs')
get '/' do
File.read(File.join('public', 'index.html'))
end
end
config.ru 看起来像这样:
require './app'
run WPL.new
所以我正在尝试部署我的应用程序,但遇到了几个问题。在本地一切正常。我将应用程序推送到heroku,一切似乎都很好,但是当我检查日志时,它说它找不到命令'bundle'。
这就是我的 Procfile 的样子。
web: bundle exec ruby app.rb -p $PORT
我尝试删除bundle exec
并ruby app.rb -p $POST
在此过程中走得更远,但出现更多错误。
我得到的下一组错误都与 gem 相关。它根本找不到任何需要的宝石。这就是我的 app.rb 的样子。
require 'shotgun'
require 'sinatra'
require 'mongo'
require 'json/pure'
db = Mongo::Connection.new.db('docs')
get '/' do
File.read(File.join('public', 'index.html'))
end
我的 Gemfile 看起来像这样。
source :rubygems
gem 'sinatra'
gem 'shotgun'
gem 'sinatra'
gem 'mongo'
gem 'json'
我的 config.ru 看起来像这样。
require './app'
run Sinatra::Application
运行heroku run console
也会导致这个错误bundle: command not found
我错过了什么?