在heroku中将应用程序从一种语言更改为另一种语言

时间:2011-12-05 04:51:23

标签: node.js heroku cedar

是否可以将Cedar堆栈上的Heroku应用程序从一种语言切换到另一种语言?

在这个特定的实例中,我试图将应用程序从PHP迁移到NodeJS,在执行git push之后,NodeJS被检测为NodeJS应用程序:

-----> Heroku receiving push
-----> Node.js app detected
-----> Fetching Node.js binaries
-----> Vendoring node 0.4.7
-----> Installing dependencies with npm 1.0.94

       Dependencies installed
-----> Discovering process types
       Procfile declares types -> web
-----> Compiled slug size is 5.0MB
-----> Launching... done, v7

...然而它崩溃了:

Error: No such file or directory - node main.js

尝试运行Node REPL也表明二进制文件不存在:

> heroku run node
Running node attached to terminal... up, run.1
sh: node: not found

有没有办法重新初始化 Cedar堆栈应用,而无需创建新实例?

2 个答案:

答案 0 :(得分:2)

创建一个新的实例应用程序实例。尝试将一个变为另一个可能不是一个好主意。 DNS将自动为您更新,因为它由路由网格处理,您将会更快乐,也更好。

我(虽然用例略有不同)将应用程序从Bamboo迁移到Cedar,整个过程花了我不到五分钟。当我在应用程序上重新定位自定义域设置时,唯一的停机时间是几秒钟。

答案 1 :(得分:0)

我知道这是一个老问题,但我遇到了这个问题,将我的应用程序从PHP更改为NodeJs。我第一次运行git push heroku master时遇到错误,说它无法使用PHP buildpack。

所以我进入 Heroku仪表板中的应用设置标签,然后从 Buildpacks列表中删除PHP buildpack。 最后,当我运行git push heroku master时,Heroku自动检测到了NodeJS buildpack。