在Amazon EC2上新安装后运行应用程序时出错

时间:2012-12-03 16:57:47

标签: node.js amazon-ec2 npm

第一次尝试使用Amazon EC2安装node.js服务器。按照this article进行操作。安装node.js,然后是npm,然后是所有其他模块。一切都没有错误。但由于某种原因,我的服务器无法启动。你能告诉我在哪里找到错误吗?

[ec2-user@domU-12-31-39-07-62-87 ~]$ node server.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'socket.io'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/home/ec2-user/server.js:3:10)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
[ec2-user@domU-12-31-39-07-62-87 ~]$ cd node
[ec2-user@domU-12-31-39-07-62-87 node]$ node server.js

module.js:340
    throw err;
          ^
Error: Cannot find module '/home/ec2-user/node/server.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

2 个答案:

答案 0 :(得分:1)

看起来好像找不到socket.io。试试这个:

cd /home/ec2-user
npm install socket.io
node server.js

答案 1 :(得分:1)

我同意“The Reddest”,然而,文章说安装express应该安装socket.io作为依赖。你在文章中运行了最后两个npm命令吗?

sudo npm install express -g
sudo npm install forever -g

更好的是,创建一个package.json文件并将其依赖项安装在应用程序本地而不是全局。在这里阅读更多相关内容.. http://docs.nodejitsu.com/articles/getting-started/npm/what-is-the-file-package-json