2

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

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

-----> 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 堆栈应用程序?

4

2 回答 2

2

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

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

于 2011-12-05T17:08:27.630 回答
2

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

因此,我进入Heroku 仪表板中的应用程序设置选项卡,并从Buildpacks 列表中删除 PHP buildpack 。最后,当我运行时,Heroku 自动检测到了 NodeJS buildpack。git push heroku master

于 2016-06-22T13:23:14.840 回答