使用 git 进行原生 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 | started with 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 `parse!': missing argument: -e (OptionParser::MissingArgument)
这个 -e 参数应该存储在哪里才能使这一切正常工作?
最佳答案
我猜您的意思是您在本地开发计算机上遇到此错误。
您可以在启动foreman时设置RACK_ENV,例如:
RACK_ENV=development foreman start
或者您可以使用不同的 procfile 进行开发(例如“Procfile-dev”),它具有选项 -e 内联的值,如下所示:
web: bundle exec rails server thin -p 3000 -e development
并用以下方式调用它:
foreman start -f Procfile-dev
(在 Heroku 上,它应该可以正常工作,因为当您在应用程序文件夹中运行“heroku config -s”时,您应该看到“RACK_ENV=生产”,因此此处正确设置了所需的环境变量) .
关于ruby-on-rails - 使用 Procfile 开始在 Heroku 上使用 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9949535/