在centos7安裝nodejs並升級nodejs到最新版本
下面操作服務器的身份默認是管理員root,如果權限不足,請加 sudo
1. 安裝nodejs
1.1 使用EPEL安裝
EPEL(Extra Packages for Enterprise Linux)企業版Linux的額外軟件包,是Fedora小組維護的一個軟件倉庫項目,為RHEL/CentOS提供他們默認不提供的軟件包。
先確認系統是否已經安裝了epel-release包:
$ yum info epel-release
- 1
如果有輸出有關epel-release的已安裝信息,則說明已經安裝,如果提示沒有安裝或可安裝,則安裝
$ yum install epel-release
- 1
安裝完后,就可以使用yum命令安裝nodejs了,安裝的一般會是6.x的版本,並且會將npm(3.x)作為依賴包一起安裝
$ sudo yum install nodejs
- 1
安裝完成后,驗證是否正確的安裝,node -v,如果輸出如下版本信息,說明成功安裝
v6.13.3
- 1
問題來了,現在nodejs發的版本比較快,有些新的框架需要node的新版本,那如何升級。到現在,node的最新版本是10.4.1,那么,下面介紹如何升級nodejs
1.2 卸載 nodejs
1.2.1 使用 yum 先刪除一次
yum remove nodejs npm -y
- 1
1.2.2 手動刪除殘留
- 進入 /usr/local/lib 刪除所有 node 和 node_modules文件夾
- 進入 /usr/local/include 刪除所有 node 和 node_modules 文件夾
- 檢查 ~ 文件夾里面的"local" “lib” “include” 文件夾,然后刪除里面的所有 “node” 和 “node_modules” 文件夾
- 可以使用以下命令查找 $ find ~/ -name node $ find ~/ -name node_modules
1.2.3 進入 /usr/local/bin 刪除 node 的可執行文件
- 刪除: /usr/local/bin/npm
- 刪除: /usr/local/share/man/man1/node.1
- 刪除: /usr/local/lib/dtrace/node.d
- 刪除: rm -rf /home/[homedir]/.npm
- 刪除: rm -rf /home/root/.npm
2.升級nodesj
2.1 安裝n
n是nodejs管理工具,是TJ寫的,Github: https://github.com/tj/n
$ npm install -g n
- 1
2.2 安裝nodejs版本
安裝最新版
$ n latest
- 1
安裝指定版本
$ n 8.11.3
- 1
2.3 切換nodejs版本
$ n
- 1
選擇已安裝的版本
ο node/8.11.3
node/10.4.1
- 1
- 2
查看當前版本node -v,下面表示已切換成功
v8.13.3
- 1
但問題來了,切換后,查看版本還是原來的v6.13.3,看下面 使用n切換nodejs版本失效的解決辦法
3 切換失效的解決辦法
3.1 查看 node 當前安裝路徑
$ which node
/usr/local/bin/node #舉個例子
- 1
- 2
3.2 而 n 默認安裝路徑是 /usr/local,若你的 node 不是在此路徑下,n 切換版本就不能把bin、lib、include、share 復制該路徑中,所以我們必須通過N_PREFIX變量來修改 n 的默認node安裝路徑。
編輯環境配置文件:
$ vim ~/.bash_profile
- 1
3.3 將下面兩行代碼插入到文件末尾:
export N_PREFIX=/usr/local #node實際安裝位置
export PATH=$N_PREFIX/bin:$PATH
- 1
- 2
3.4 :wq保存退出
3.5 執行source使修改生效。
$ source ~/.bash_profile
- 1