当Openshift创建一个Node.js盒式磁带时,它包含一个Express 3版本。我的应用程序是一个Express 4应用程序,无法在默认的Openshift设置下启动。即使我的应用程序的package.json有行"表达":"> = 4.9.0"在依赖中。
4.9.0恰好是我应用程序项目中嵌入的版本,但在启动时被Openshift忽略。显然我需要将Openshift的版本更新为4.我可以确认该应用程序的工作原理是在我的本地计算机上设计的。
如何在版本3到4之间更新应用程序之外的Openshift&#Express?
答案 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上运行的唯一方法。
我现在使用MongoDB支持运行我的Express4应用程序。似乎很开心。推送/构建/记录成功。
答案 1 :(得分:0)
对我有用的是:
"main": "./bin/www",
"scripts": {
"start": "node ./bin/www"
}