本来这个并没有什么好写的,为什么,网上到处都是。不过在安装的时候确实遇到了很多问题,很有必要记录一下。
先安装gcc-c++编译环境和openssl,
>yum install gcc-c++ openssl-devel
第二点,不要使用最新版本的node.js(官网目前最新的为0.5.5),使用最新的在安装express模块会提示错误,为了避免这个问题还是装个0.5以上0.4以上的版本最好,我使用的是ver 0.4.8
>wget http://nodejs.org/dist/node-v0.4.8.tar.gz
>tar –xvf node-v0.4.8.tar.gz
>cd node-v0.4.8
>./configure;make;make install
如果在使用./configure时报错:Node.js could not configure a cxx comiler!,解决办法:
>yum groupinstall "Development Tools”
写个例子,测试一下node.js是否能正常运行
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');
将以上代码存为hello.js,然后使用node hello.js运行,在控制台上按住ctrl键,会出现下划线直接点击。如果打开的网页不能直接浏览,则将上面代码中的127.0.0.1 –> 换成机器的IP地址
然后准备安装npm
>curl http://npmjs.org/install.sh | sh
然后安装express模块
npm install express
再安装socket.io,这时出问题了…
类似这样的错误:
ERR! Error: Failed tar "-mvxpf" "-" "-o" "-C" "/tmp/npm-1313089924364/1313089933124-0.37383073731325567/contents/___package.npm"
ERR! exited with 2
ERR! at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/exec.js:85:8)
ERR! at ChildProcess.emit (events.js:67:17)
ERR! at Socket. (child_process.js:172:12)
ERR! at Socket.emit (events.js:64:17)
ERR! at Array.1 (net.js:831:12)
ERR! at EventEmitter._tickCallback (node.js:126:26)
ERR! Report this entire log at:
ERR! http://github.com/isaacs/npm/issues
ERR! or email it to:
ERR! npm-@googlegroups.com
ERR!
ERR! System Linux 2.6.18-194.26.1.el5.028stab081.1ent
ERR! command "node" "/usr/local/bin/npm" "install" "socket.io"
ERR! cwd /root
ERR! node -v v0.4.10
ERR! npm -v 1.0.22
找了半天没发现什么,google搜索出来的结果说是tar的版本过低了,使用tar --version查看一下,为1.15.3,怎么办?下载最新的版本
先是使用yum install tar,得到的结果是没有需要更新的
然后开始下载最新版本的tar(http://www.gnu.org/software/tar/)
wget http://ftp.gnu.org/gnu/tar/tar-1.26.tar.gz
然后解压,安装,可是很郁闷的是发现也报错了。
checking whether mknod can create fifo without root privileges... > configure: error: in `/usr/xxx/tar-1.26': > configure: error: you should not run configure as root (set > FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check) > See `config.log' for more details.
还好找到这篇文章:安装GNU tar (需要使用强制执行,忽略非安全的check)
是自己没有仔细看报错的界面,按照上面的说法,使用
>/configure FORCE_UNSAFE_CONFIGURE=1
重新check、make、install然后搞定
这个时候的tar版本就为最新的1.26了,然后再安装socket.io就正常了
然后参照socket.io的官网,写个例子测试一下,看环境是否OK了