1

我已经使用 Webrick 在 Rails 2.2.2 中的本地 MAC MINI 机器上创建了一个应用程序,它可以工作

现在我想在 Heroku 上上传应用程序

$ heroku create myapponline --stack cedar

好的,在我检查我是否存在 heroku 上的应用程序之后

$ git远程-v

> heroku    git@heroku.com:myapponline.git (fetch)
> heroku    git@heroku.com:myapponline.git (push)

伟大的!

但是当我想上传应用程序时

$ git push heroku 大师

> Counting objects: 124, done. Delta compression using up to 4 threads.
> Compressing objects: 100% (110/110), done. Writing objects: 100%
> (124/124), 75.90 KiB, done. Total 124 (delta 21), reused 0 (delta 0)
> 
> -----> Heroku receiving push  !     Heroku push rejected, no Cedar-supported app detected
> 
> To git@heroku.com:myapponline.git  ! [remote rejected] master ->
> master (pre-receive hook declined) error: failed to push some refs to
> 'git@heroku.com:myapponline.git'

注意当我输入$ git status时,所有文件都在主分支中

先感谢您,

一个

4

2 回答 2

2

Rails 2.2 是 pre-Rack 和 pre-Bundler,所以普通的 Rails buildpack 对你没有帮助。这是可能的,但老实说,你真的需要升级。运行旧的 Rails 版本(包括 2.2.2 而不是 2.2.3)存在安全隐患,更不用说将自己绑定到一个古老的框架意味着很难利用过去三年的工作Ruby 生态系统。

如果,毕竟,由于某种原因你仍然必须这样做,那很好。您需要在 Heroku 指定的端口上创建自己的Procfile来启动您选择的 Web 服务器(Webrick?糟糕!)。您还需要某种方法将所有 gem 放入 slug,方法是制作自定义 buildpack或将 Bundler 破解到 Ruby 2.2 中。

是的,所有这些都需要比升级到合理版本的 Rails 更多的 Ruby 知识。

于 2012-10-05T20:31:45.970 回答
0

检查这个:

heroku-push-rejected-no-cedar-supported-app-detected

描述一个类似的问题..

于 2012-10-05T20:23:49.177 回答