centos 5.4 安装nodejs + npm

来源:互联网 发布:windows窗口闪烁 编辑:程序博客网 时间:2024/06/02 04:58

由于centos 5.4的python版本是2.4,nodejs要求的版本为2.6或者2.7。所以首先要图升级centos的python版本。

update python to version 2.7

wget http://www.python.org/ftp/python/2.7/Python-2.7.tar.bz2tar xjf Python-2.7.tar.bz2
 
注:因为vps的bzip2库版本较老,导致python2.7在安装的时候,不会自动安装bz2库。
而在安装nodejs的时候,需要用到,所以需要手动安装bz2库。


sudo yum install -y bzip2* cd Python-2.7.2/Modules/zlib./configure makesudo make install

还需要,打开binascii模块的编译。不然在安装node的时候,会提示找不到binascii模块。

cd ../../vi Modules/Setup.dist

找到下面的两行,将binascii前的注释去掉。

# Helper module for various ascii-encoders#binascii binascii.c#改成如下两行:# Helper module for various ascii-encodersbinascii binascii.c


然后,安装python2.7。


./configuremake allsudo make installmake cleanmake distclean

之前的版本还在,要使用python2.7,做个软连接应该就OK。
sudo mv /usr/bin/python /usr/bin/python-baksudo ln -s /usr/local/bin/python2.7 /usr/bin/python

升级安装好以后yum会无法使用,因为yum使用的是2.4版本的,所以要修改yum的配置文件以便能够识别2.4版本下的python


sudo vim /usr/bin/yum


将文件头部的
#!/usr/bin/python

改成
#!/usr/bin/python2.4


就可以继续使用yum了


然后,就可以安装Nodejs了。


wget http://nodejs.org/dist/v0.6.10/node-v0.6.10.tar.gztar xzf node-v0.6.10.tar.gzcd node-v0.6.10./configure                              //

这个时候,会报错:
 

  Checking for program g++ or c++          : not found    Checking for program icpc                : not found    Checking for program c++                 : not found    /home/admin/pkgs/node-v0.6.10/wscript:261: error: could not configure a cxx compiler!

解决办法是:
安装gcc-c++

sudo yum install gcc-c++

之后,会报错:
Checking for openssl                     : not foundChecking for function SSL_library_init   : not foundChecking for header openssl/crypto.h     : not found/home/admin/pkgs/node-v0.6.10/wscript:374: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message.

解决办法:安装openssl-devel

sudo yum install openssl-devel
然后,就可以正常编译安装了。

./configuremakesudo make install


install npm

curl http://npmjs.org/install.sh | sudo sh
会提示,找不到node,所以:
再做一个软链接:
sudo ln -s /usr/local/bin/node /usr/bin/nodecurl http://npmjs.org/install.sh | sudo sh
可以正常运行。