Whenever I try to update express to 4.2.0 in openshift I get the 503 error. Any idea on how to resolve this? All I did was create a NodeJS application add MongoDB cartridge and using ssh, update the package.json to set express to 4.2.0 and ran npm install. After restarting the application I get a 503 on the web page. Does openshift support ExpressJS version 4?
I am getting the same issue. Using express 4.9.8, I can run locally just fine but when trying to run after deployment on OpenShift I get the following:
==> app-root/logs/nodejs.log-20150224074926 <==
};
mixin(app, proto);
mixin(app, EventEmitter.prototype);
app.request = { __proto__: req, app: app };
app.response = { __proto__: res, app: app };
app.init();
return app;
} has no method 'createServer'
at self.initializeServer (/var/lib/openshift/54e8fbd85973ca16e40000d6/app-root/runtime/repo/server.js:116:28)
at self.initialize (/var/lib/openshift/54e8fbd85973ca16e40000d6/app-root/runtime/repo/server.js:134:14)
==> app-root/logs/nodejs.log-20150224095524 <==
app.handle(req, res, next);
};
mixin(app, proto);
mixin(app, EventEmitter.prototype);
app.request = { __proto__: req, app: app };
app.response = { __proto__: res, app: app };
app.init();
return app;
} has no method 'createServer'
at self.initializeServer (/var/lib/openshift/54e8fbd85973ca16e40000d6/app-root/runtime/repo/server.js:116:28)
I get the impression that OpenShift does not support the newer versions of Express.
I started my app in Express3 using the OpenShift default code, pushed to OpenShift (happy, happy), and then locally decided that I'd better re-tool to Express4 and ran into the same problem. Lot of head-bangin' on my desk.
Don't know if there's a way to do it and keep it but I couldn't get the /bin/www approach to work. Had to move all that code back to /server.js, retire /bin/www, edit the scripts.start and main variables in package.json and was eventually successful.
package.json exerpt:
...
"scripts": {
"start": "node server.js" // Was "npm start"
},
"main": "server.js"
So then the remote push/build worked. The local one starts up with "npm start" as expected.