1. 程式人生 > >centos 5.4 安裝nodejs + npm

centos 5.4 安裝nodejs + npm

由於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.bz2
tar 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 
make
sudo 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-encoders
binascii binascii.c


然後,安裝python2.7。

./configure
make all
sudo make install
make clean
make distclean

之前的版本還在,要使用python2.7,做個軟連線應該就OK。
sudo mv /usr/bin/python /usr/bin/python-bak
sudo 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.gz
tar xzf node-v0.6.10.tar.gz
cd 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 found
Checking for function SSL_library_init   : not found
Checking 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
然後,就可以正常編譯安裝了。
./configure
make
sudo make install
install npm

curl http://npmjs.org/install.sh | sudo sh
會提示,找不到node,所以:
再做一個軟連結:
sudo ln -s /usr/local/bin/node /usr/bin/node
curl http://npmjs.org/install.sh | sudo sh
可以正常執行。