我一直在关注如何在 openshif ( http://www.zev23.com/2014/04/openshift-harmony-nodejs.html ) 中启用自定义 Node 版本的示例,因此当我 ssh 到应用程序时,我可以看到已安装的 Node 版本(0.11.14),但是当我查看日志时,它说
app.use(function *(){
... SyntaxError: Unexpected token *
并且我收到 503 错误。
这是我的 server.js 文件:
var koa = require('koa');
var app = module.exports = koa();
app.use(function *(){
this.body = 'Hello World';
});
var ipaddress = process.env.OPENSHIFT_INTERNAL_IP || process.env.OPENSHIFT_NODEJS_IP;
var port = process.env.OPENSHIFT_INTERNAL_PORT || process.env.OPENSHIFT_NODEJS_PORT || 8080;
if (typeof ipaddress === "undefined") {
// Log errors on OpenShift but continue w/ 127.0.0.1 - this
// allows us to run/test the app locally.
console.warn('No OPENSHIFT_NODEJS_IP var, using 127.0.0.1');
ipaddress = "127.0.0.1";
};
if (!module.parent) app.listen(port, ipaddress);
我还在 NODEJS_VERSION
内添加了 0.11.14
__ 更新 __
我使用 ssh 检查了服务器,它显示 Node 0.11.14,但是当我在实际的 Web 应用程序启动之前添加这些行(见下文)时,它看起来像是在 Node 0.10.25 上运行,并且 .bash_profile 中设置的路径不是路径中使用的路径。
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
console.log(ipaddress, port);
console.log(process.versions);
console.log(process.env.PATH);
有没有办法在实际应用程序启动之前配置 PATH,以便它将使用 0.11.14 而不是 0.10.25
先谢谢大家了
最佳答案
我已按照 https://github.com/ramr/nodejs-custom-version-openshift 中的说明进行操作现在一切正常。刚刚在 package.json 中添加了 main: --harmony server.js
。
关于node.js - 如何在 Openshift 中设置 KoaJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924967/