我們常用的Node.js版本可分為三種,一種是當前正在積極開發的版本(Current),一種是最新的LTS版本(Active LTS),還有一種是上一代依然在維護中的LTS版本(Maintenance LTS)。若想在Linux作業系統上安裝Node.js,要怎麼樣才能夠安裝最新或是指定版本的Node.js呢?
Node.js的版本管理器
我們雖然可以利用Linux發行版軟體源來直接安裝Node.js,但通常只能安裝到比較舊的版本,而且也不能隨時進行版本的切換。這對於開發或是執行需要特定的Node.js版本才能執行的Node.js程式來說是不太方便的,所以選擇使用Node.js的版本管理器是很重要的。最常用的版本管理器有「nvm」和「n」兩個。
nvm是使用POSIX-compliant shell腳本製作的Node.js版本管理器,它可以取得各種合適的Node.js版本並根據不同的Node.js版本建立出獨立的執行環境。
n是使用Bash腳本製作的Node.js版本管理器,它可以取得各種合適的Node.js版本,並且可以在同一個環境下進行Node.js版本的切換。如果我們只是想要快速升級Node.js的版本,且對於不同Node.js版本間所使用的設定和全域套件並無獨立需求的話,n會比nvm還要更簡單易用,而本篇文章也是以n來做Node.js的安裝及管理示範。
n
n雖然是Node.js的版本管理器,但官方並沒有提供一個便利的方式來安裝n。這讓許多人會用npm去安裝n,就會造成很詭異的問題,因為npm需要Node.js執行環境才能被執行,那麼在一開始還沒有n的時候,Node.js要該哪裡取得比較好?
所幸有其它開發者注意到n的問題,替它開發了基於Bash的安裝腳本,稱為n-install
。以下是它的GihHub連結:
安裝n和Node.js
藉由n-install
腳本,執行以下指令就可以安裝最新的n和Node.js (Active LTS)。
n和Node.js的東西都會被安裝到家目錄下的n
目錄中。此時我們可以開啟新的終端機或是在現有的終端機上執行source ~/.bashrc
來套用新的環境變數,就可以開始使用n
、node
、npm
等指令了!
由於n-install
腳本會將N_PREFIX
環境變數設為家目錄下的n
目錄,因此全域套件都會被放置在~/n/lib/node_modules
下。在管理全域套件或是更改Node.js的版本時,不使用sudo
指令。
用n來安裝最新的Node.js和npm
在終端機執行以下指令就可以安裝最新的,即當前正在積極開發的Node.js和npm:
用n來安裝指定版本的Node.js和npm
使用以下指令可以查看所有Node.js的版本。
若想要安裝指定的Node.js版本,只要在n
這個指令後直接接上版本號碼就好了,例如要安裝18.18.2
,指令為:
不過一般我們不太需要去管修訂版本號,甚至是次版本號。所以如果想要直接安裝「Node.js 18.x最新版」,指令可以直接寫成:
切換Node.js的版本
n會把不同的版本的Node.js放在不同的檔案目錄中,我們可以直接執行以下指令來查看先前已經安裝過哪些版本的Node.js。
當要安裝的Node.js版本,n先前已經安裝過的話,n只會純粹做切換,而不會重新再透過網路下載檔案。
清理Node.js
由於n會把不同的版本的Node.js放在不同的檔案目錄中,因此時間一久,在不斷更新下,系統環境會累積很多已經用不到的舊版Node.js。使用以下指令,可以將非目前正在使用的Node.js版本全部移除: