2012-04-28 51 views
3

更新 - LINUX FEDORA 15你好的NodeJS世界的例子 - 符号查找错误

在从一个例子:

http://simonwillison.net/2009/Nov/23/node/

我的代码:

var util = require('util'), 
    http = require('http'); 

http.createServer(function(req, res) { 
    res.sendHeader(200, {'Content-Type': 'text/html' }); 
    res.sendBody('<h1>Hello World</h1>'); 
    res.finish(); 
}).listen(8080); 

util.puts('Server running at http://127.0.0.1:8080'); 

产生以下错误:

[[email protected] node_projects]$ nodejs helloworld.js 
Server running at http://127.0.0.1:8080 
nodejs: symbol lookup error: nodejs: undefined symbol: _ZN2v82V816IdleNotificationEv 
+0

你是如何安装的node.js? – icktoofay 2012-04-28 02:18:53

+0

我最初的安装是使用yum包管理器。我相信我不得不对存储库执行一些更新(或者引用另一个更新)来安装node.js – Aardvark 2012-04-29 19:27:40

+0

尽管问题已得到解决。我删除了一个现有的节点应用程序(与收音机有关?);然后从http://nodejs.tchol.org/下载并安装rpm nodejs-0.6.15-1(Apr 11),使用标准make install – Aardvark 2012-04-29 19:34:32

回答

0

这为2009年的教程和旧的API。你应该做这样的

var http = require('http'); 
var server = http.createServer(function (request, response) { 
    response.writeHead(200, {"Content-Type": "text/plain"}); 
    response.end("Hello World\n"); 
}); 
server.listen(8000); 
console.log("Server running at http://127.0.0.1:8000/"); 

你的教程是老:)切换到这一点 - >

http://howtonode.org/hello-node

0

要执行node.js应用程序,请使用节点调用它,而不是nodejs。

node helloworld.js 

特别的错误看起来类似于节点0.6.15中的V8构建不匹配问题。您是否尝试过使用较新版本(或回滚到旧版本)的Node?

+1

还有另一个节点(与JS无关)应用程序;我假设这就是为什么node.js安装为nodejs以避免冲突... – Aardvark 2012-04-28 01:56:30

+0

它似乎归结为一些依赖性问题...我最初与yum软件包管理器一起安装;这种方法似乎没有像下载文件和执行标准make install那样可靠。 – Aardvark 2012-04-28 03:49:10

+0

感谢您的意见! – Aardvark 2012-04-28 03:49:36

0

上Fedora Linux系统下载执行的node.js安装和安装独立的转速(http://nodejs.tchol.org/stable/f16/SRPMS/repoview/nodejs.html)并执行安装如下:

  1. 删除所有现有节点,并使用你的包管理器应用程序的NodeJS

  2. 从单机转

    转-ivh ./configur安装的node.js Ë 使 使安装

试图使用的软件包管理器作为访问以下网站描述可能导致依赖性问题:

http://nodejs.tchol.org/