Centos下Nodejs+npm環境-部署記錄

散盡浮華發表於2018-05-04

 

公司的一個專案上線,需要用到Nodejs和npm環境,這裡記錄下安裝過程,方便回看同時供大家參考。

1)yum安裝方式(版本比較老點,v5.12.0 + 3.8.6)

需要在centos中新增epel和remi源

新增epel源(如果提前安裝了其他的epel-release-7-11.noarch,則需要先解除安裝它,否則會和下面的衝突)
64位:
[root@node-test src]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
===========================================================================================
32位:
[root@node-test src]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
===========================================================================================

匯入key:
[root@node-test src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

新增remi源
[root@node-test src]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
[root@node-test src]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi

安裝完成後,執行
[root@node-test src]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
[root@node-test src]# yum -y install nodejs

[root@node-test src]# node -v
v5.12.0

[root@node-test src]# npm -v
3.8.6

nodejs環境如上就已經部署好了,此時就可以執行*.js程式了。

2)tar包安裝(制定版本安裝,v8.1.0+5.0.3)

下載地址:https://nodejs.org/dist/
這裡下載v8.1.0

[root@node-test src]# wget https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-x86.tar.gz
[root@node-test src]# tar -zvxf node-v8.1.0-linux-x86.tar.gz
[root@node-test src]# mv node-v8.1.0-linux-x86 /usr/local/node-v8.1.0
[root@node-test src]# ls /usr/local/node-v8.1.0
bin  CHANGELOG.md  include  lib  LICENSE  README.md  share

接著通過下面兩個命令建立node和npm的軟連線,在較高階版本的nodejs中自帶了npm,所以這裡不需要另行下載。 
[root@node-test src]# ln -s /usr/local/node-v8.1.0/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
[root@node-test src]# ln -s /usr/local/node-v8.1.0/bin/node /usr/local/bin/node

上面操作類似於將node和npm新增進系統環境變數,但是在後期安裝head外掛過程中出現報錯,問題是在Path路徑中找不到指定檔案
為此解決這個問題,直接再修改/etc/profile,新增node的目錄到Path即可,具體見下面這個 
[root@node-test src]# vim /etc/profile
......
export PATH=$PATH:/usr/local/node-v8.1.0/bin
[root@node-test src]# source /etc/profile

檢視版本,檢查是否安裝成功
[root@node-test src]# node -v 
v8.1.0
[root@node-test src]# npm -v
5.0.3

====================可能出現的報錯====================
報錯1:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

因為64位系統中安裝了32位程式。解決方法:
[root@node-test src]# yum install glibc.i686

報錯2:
node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

解決辦法:
[root@node-test src]# yum whatprovides libstdc++.so.6
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * epel: mirrors.yun-idc.com
 * extras: ftp.sjtu.edu.cn
 * updates: ftp.sjtu.edu.cn
libstdc++-4.4.7-23.el6.i686 : GNU Standard C++ Library
Repo        : base
Matched from:
Other       : libstdc++.so.6

然後執行
[root@node-test src]# yum install libstdc++-4.4.7-23.el6.i686

==================解決npm install過慢問題==================
如果後期在使用npm install安裝過程中出現了長時間停留在fetchMetadata sill 一直不動的現象,那應該是npm源出了問題。
這時候可以切換到國內的npm源來解決這個問題,執行下面兩個命令即可(大概測試了下,速度提升了10-100倍之多)
[root@node-test src]# npm config set registry https://registry.npm.taobao.org 
[root@node-test src]# npm config get registry  

相關文章