使用Procfile在Heroku上开始使用Rails

时间:2012-03-30 19:47:07

标签: ruby-on-rails heroku foreman

使用git使用vanilla rails安装(事实上遵循这里的heroku指南https://devcenter.heroku.com/articles/rails3

然而,它提到了Procfile的创建

  

web:bundle exec rails server thin -p $ PORT -e $ RACK_ENV

然而,如果你运行这是需要使用foreman start,你收到一个错误,因为你还没有定义RACK_ENV

  

20:45:26 web.1 |以pid 26364 20:45:27 web.1开始   /SomeLocalPath/.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.2/lib/rails/commands/server.rb:33:in   “解析!”:缺少参数:-e(OptionParser :: MissingArgument)

这个-e参数应该存储在哪里,以便全部工作?

1 个答案:

答案 0 :(得分:3)

我猜你的意思是你在本地开发机器上遇到这个错误。

您可以在启动此类工头时设置RACK_ENV,例如:

RACK_ENV=development foreman start

或者您可以使用不同的proc文件进行开发(例如“Procfile-dev”),其中包含选项-e inline的值,如下所示:

web: bundle exec rails server thin -p 3000 -e development

并将其命名为:

  foreman start -f Procfile-dev 

(在Heroku上,它应该可以工作,因为当你在app文件夹中运行“heroku config -s”时,你应该看到“RACK_ENV = production”,所以在这里正确设置了所需的环境变量)