我正在尝试使用RedHat Openshift上的斗篷来运行我的应用程序。但我甚至无法运行这样的简单代码:
var cloak = require("cloak");
var _ = require("underscore");
var connect = require("connect");
cloak.configure({
port: process.env.OPENSHIFT_NODEJS_PORT || 8080,
autoJoinLobby:false,
enter code here`});
cloak.run();
我可以轻松地在我的本地电脑上运行它(没有常数),但是在Openshift上,我总是得到这个错误:
/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/node_modules/socket.io/lib/manager.js:106 server.on('error', function(err) { ^ TypeError: Object 8080 has no method 'on' at new Manager (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/node_modules/socket.io/lib/manager.js:106:10) at Object.exports.listen (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/node_modules/socket.io/lib/socket.io.js:78:10) at Object.module.exports.cloak.run (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/node_modules/cloak/index.js:78:21) at Object. (/var/lib/openshift/550eddc0fcf933a5d9000036/app-root/runtime/repo/server.js:23:7) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16)
我查看了socket.io,问题在于:
server = require('http').createServer();
在本地计算机上,服务器的值从8080更改为[object Object],因此manager.js输入错误。在Openshift上,它什么也没做。
为什么这样对我? :d
答案 0 :(得分:0)
您可能还需要指定IP地址(可能称为主机)
host: process.env.OPENSHIFT_NODEJS_IP || 127.0.0.1,