在本地计算机上模拟 Heroku
我是 Heroku 和 Ruby on Rails 的新手,这可能看起来微不足道。但我找不到答案。
Google App Engine 有一个网络服务器应用程序,可模拟本地计算机上的所有 App Engine 服务。 Heroku 有类似的东西吗?
基本上我想在将 RoR 应用程序推送到 Heroku 之前在本地计算机上运行/调试 RoR 应用程序。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您位于 Cedar 堆栈上,则有一个名为
foreman
可以读取您的procfile
来模拟它将如何运行在赫罗库。有关它的更多信息位于开发中心:https://devcenter.heroku .com/articles/procfile#developing-locally-with-foreman
If you are on the Cedar stack, there is a local utility called
foreman
that can read yourprocfile
to simulate how it will run on Heroku. More info about it is on Dev Center here:https://devcenter.heroku.com/articles/procfile#developing-locally-with-foreman
Heroku CLI 具有
local
命令来在本地运行您的应用程序。如果没有选项,它将使用.env
中定义的任何环境变量运行应用程序根目录中Procfile
中定义的进程:对于配置选项,例如使用不同的路径 < code>.env 和
Procfile
和local
子命令请参阅:https://devcenter.heroku.com/articles/heroku-localHeroku CLI has the
local
command to run your app locally. Without options, it will run the processes defined in theProcfile
in the app root, using any environment variables defined in.env
:For configuration options such as using different paths for
.env
andProcfile
andlocal
subcommands see: https://devcenter.heroku.com/articles/heroku-local我使用 http://pow.cx/ 和 https://github.com/Rodreegez/powder 为此。不是模仿 Heroku,但它允许您快速设置“生产”环境。
另外,请检查 http://devcenter.heroku.com/articles/multiple-environments 并考虑是否需要分阶段部署。
I use http://pow.cx/ and https://github.com/Rodreegez/powder for that. Is not emulating Heroku, but it allows you to set up a 'production' environment quickly.
Also, check http://devcenter.heroku.com/articles/multiple-environments and consider if you need a staging deploy.
Heroku 不存在这样的东西,但说实话你并不真正需要它。本地开发,使用 Ruby 1.9.2,因为这是目前 Heroku 的默认版本 - 请记住 Heroku 的限制http://devcenter.heroku.com/categories/platform-constraints。在本地使用 Postgres,因为这就是 heroku 共享数据库,并且您将有一个良好的开端。
Nothing like that exists for Heroku but to be honest you don't really need it. Develop locally, use Ruby 1.9.2 as that's the heroku default these days - keep in mind the constraints of Heroku http://devcenter.heroku.com/categories/platform-constraints. Use Postgres locally since that is what heroku shared DB is and you'll be off to a good start.
我在使用 Rails 7 应用程序时得到了类似的结果。
在应用的根目录中创建一个名为
Procfile
的文件将其添加到其中(或类似的文件,具体取决于您的需要。我为 Rails 7 应用程序准备了这个:
为 Rails 6 应用程序添加了此内容:
Rails 服务器应该启动。
注释
I got something similar working with a Rails 7 app like this.
Create a file in the root of your app called
Procfile
Add this to it (or similar, depending on your needs. I had this for a rails 7 app:
And this for a rails 6 app:
The rails server should start.
Notes