虚拟机下的CentOS环境中安装Node.js

2018-11-16 15:29:41 浏览数 (1)

本来这个并没有什么好写的,为什么,网上到处都是。不过在安装的时候确实遇到了很多问题,很有必要记录一下。

先安装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是否能正常运行

代码语言:javascript复制
var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello Node.jsn');
}).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了

0 人点赞