如何将Openshift NodeJS Cartridge的Express从3.x更新到最新的4.x?

时间:2015-02-26 17:41:05

标签: node.js express openshift

当Openshift创建一个Node.js盒式磁带时,它包含一个Express 3版本。我的应用程序是一个Express 4应用程序,无法在默认的Openshift设置下启动。即使我的应用程序的package.json有行"表达":"> = 4.9.0"在依赖中。

4.9.0恰好是我应用程序项目中嵌入的版本,但在启动时被Openshift忽略。显然我需要将Openshift的版本更新为4.我可以确认该应用程序的工作原理是在我的本地计算机上设计的。

如何在版本3到4之间更新应用程序之外的Openshift&#Express?

2 个答案:

答案 0 :(得分:0)

我确保我的/package.json在依赖项中包含类似的内容:

"express": "~4.11.1"

就个人而言,我通过删除/package.json来退出我的/ bin / www内容:

...
  "scripts": {
    "start": "node server.js"
  },
  "main": "server.js"
}

...并将/ bin / www的大部分迁移回/server.js。

这似乎是让Express4能够在OpenShift上运行的唯一方法。

  1. /server.js需要一个shebang a#34;#!/ bin / env node"
  2. /package.json获取上面的mod
  3. 我现在使用MongoDB支持运行我的Express4应用程序。似乎很开心。推送/构建/记录成功。

答案 1 :(得分:0)

对我有用的是:

"main": "./bin/www",
"scripts": {
  "start": "node ./bin/www"
}