在centos7安裝nodejs並升級nodejs到最新版本

Guoye發表於2019-02-16

下面操作伺服器的身份預設是管理員root,如果許可權不足,請加 sudo

1. 安裝nodejs

1.1 使用EPEL安裝

EPEL(Extra Packages for Enterprise Linux)企業版Linux的額外軟體包,是Fedora小組維護的一個軟體倉庫專案,為RHEL/CentOS提供他們預設不提供的軟體包。
先確認系統是否已經安裝了epel-release包:

$ yum info epel-release

如果有輸出有關epel-release的已安裝資訊,則說明已經安裝,如果提示沒有安裝或可安裝,則安裝

$ yum install epel-release

安裝完後,就可以使用yum命令安裝nodejs了,安裝的一般會是6.x的版本,並且會將npm(3.x)作為依賴包一起安裝

$ sudo yum install nodejs

安裝完成後,驗證是否正確的安裝,node -v,如果輸出如下版本資訊,說明成功安裝

v6.13.3

問題來了,現在nodejs發的版本比較快,有些新的框架需要node的新版本,那如何升級。到現在,node的最新版本是10.4.1,那麼,下面介紹如何升級nodejs

1.2 解除安裝 nodejs

1.2.1 使用 yum 先刪除一次

yum remove nodejs npm -y

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

2.2 安裝nodejs版本

安裝最新版

$ n latest 

安裝指定版本

$ n 8.11.3  

2.3 切換nodejs版本

$ n

選擇已安裝的版本

 ο  node/8.11.3
    node/10.4.1

檢視當前版本node -v,下面表示已切換成功

v8.13.3      

但問題來了,切換後,檢視版本還是原來的v6.13.3,看下面 使用n切換nodejs版本失效的解決辦法

3 切換失效的解決辦法

3.1 檢視 node 當前安裝路徑

$ which node
/usr/local/bin/node #舉個例子

3.2 而 n 預設安裝路徑是 /usr/local,若你的 node 不是在此路徑下,n 切換版本就不能把bin、lib、include、share 複製該路徑中,所以我們必須通過N_PREFIX變數來修改 n 的預設node安裝路徑。
編輯環境配置檔案:

$ vim ~/.bash_profile

3.3 將下面兩行程式碼插入到檔案末尾:

export N_PREFIX=/usr/local #node實際安裝位置
export PATH=$N_PREFIX/bin:$PATH

3.4 :wq儲存退出

3.5 執行source使修改生效。

 $ source ~/.bash_profile

3.6 這時候再檢視node -v發現版本切換成功了。

相關文章