【问题标题】:How can I deploy a Sinatra-based Ruby web app to Heroku?如何将基于 Sinatra 的 Ruby Web 应用程序部署到 Heroku?
【发布时间】:2016-04-08 23:51:04
【问题描述】:

如何将基于 Sinatra 的 Ruby Web 应用程序部署到 Heroku?

我有一个基于 Sinatra 的 web application。当我想在本地运行它时,我会执行以下操作:

  1. 在命令行中,我进入目录servers/dev
  2. 运行thin start -R songcontest.ru

现在我想将相同的应用程序部署到 Heroku。我按照教程的前几个步骤进行操作(step 1step 2step 3)。

现在我想运行git push heroku master,这是将应用程序部署到 Heroku 的下一步。当我这样做时,我收到以下错误消息:

remote:  !     Push rejected, no Cedar-supported app detected
remote: HINT: This occurs when Heroku cannot detect the buildpack
remote:       to use for this application automatically.
remote: See https://devcenter.heroku.com/articles/buildpacks

我该如何修复它(让我的应用程序在 Heroku 上运行)?

【问题讨论】:

  • 你看过错误信息中推荐的文章了吗?
  • @thesecretmaster 是的。我设置了构建包并将 Gemfile 放入根目录。这(存在 Gemfile)是 Ruby 构建包的检测脚本检查的内容。但我仍然收到错误消息(未检测到构建包)。我询问了 Heroku 的支持。当前版本可在github.com/dpisarenko/50web/tree/heroku 获得。我尝试在本地运行该应用程序(bundle install,然后是bundle exec rackup -p 9292 songcontest.ru)并且它工作正常(在localhost:9292 上可以找到一个页面)。
  • @thesecretmaster 有关我目前尝试的更多详细信息,请访问altruix.cc/song-contest/deployment-on-heroku
  • 如果你在本地尝试thin start -R songcontest.ru会怎样?那样有用吗?另外,你有 Procfile 或 config.ru 吗?
  • 是的,thin start -R songcontest.ru 有效。不,我没有Procfile,也没有config.ru

标签: ruby git heroku sinatra


【解决方案1】:

查看Deploying Rack-based Appsheroku 文档。您需要一个 config.ru 文件和可能的 Procfile 来启动您的网络服务器。

【讨论】:

    【解决方案2】:

    从不同分支部署到 Heroku 的 master 分支时,需要在 push 命令中指定分支:git push heroku heroku:master

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      相关资源
      最近更新 更多