我想在Ubuntu 14.04上运行一个简单的nodejs脚本,其内容如下:
http = require('http');
http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain' });
res.end('Hello World \n');
}).listen(80, '127.0.0.1');
我已经按照这里的说明安装了NodeJs。以下是我从该链接中遵循的摘录:
选项2:使用Ubuntu软件包管理器安装Node.js
要安装Node.js,请在终端中键入以下命令:
sudo apt-get install nodejs
然后安装Node包管理器npm:
sudo apt-get install npm
为node创建一个符号链接,因为许多Node.js工具使用此名称来执行。
sudo ln -s /usr/bin/nodejs /usr/bin/node
我已经完成了以上步骤,并验证了两个软件包都已安装:
但是如果没有它,我无法使用我的.node文件,因为会出现以下错误:user@host:/var/www/html/nodetest$ node test.node
module.js:356
Module._extensions[extension](this, filename);
^
Error: /var/www/html/nodetest/test.node: invalid ELF header
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)
at node.js:945:3
我已经卸载和重新安装了Node和npm,但它仍然无法工作...我正在运行Ubuntu 14.04 LTS 64位。
更多信息:
我决定从源代码构建,在克隆https://github.com/nodejs/node.git的主分支并构建后运行相同的脚本,出现以下错误:
user@host:/var/www/html/nodetest$ ~/node/node test.node
module.js:600
return process.dlopen(module, path._makeLong(filename));
^
Error: /var/www/html/nodetest/test.node: invalid ELF header
at Object.Module._extensions..node (module.js:600:18)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:414:7)
at startup (bootstrap_node.js:139:9)
at bootstrap_node.js:529:3
显然,这是相同的错误,只是堆栈跟踪不同。
怎么回事?
file -i
returnsus-ascii
- Brandon