iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
Modern Web

Node.js 非專業解說系列 第 28

DAY28: 光速了解與操作NVM

NVM與NPM雖然差一個字,但兩者兼具著不同的工作。
NVM全名Node Version Manager,中文翻譯為Node版本管理工具,主要是電腦可以同時安裝多個不同Nodejs的版本。反之,若不安裝NVM也就代表只能擁有一個Nodejs版本。

What is NVM????/images/emoticon/emoticon13.gif

由於Nodejs會發布奇數與偶數的版本,偶數版本整體來說比奇數版本來的更具有安全性,它會升級到LTS版(Long Term Support),也就是穩定版,會維持兩年半的時間去升級、修補錯誤與安全漏洞,也不會出現不相容的問題存在。而奇數版會過一段時間就會進入淘汰。
所以選擇穩定版是最經濟實惠的!

當然在DAY3: node.js安裝環境中這樣常規的安裝新版本,就會把原先安裝的版本蓋過去,在開發者的角度來說很不友善,如果今天只是想測試新版本的功能,而不是捨棄舊版,那麼我還要先刪除原版再安裝新版,等測試結束後,又要刪除新版安裝舊版。這樣一來一往的,看了都昏頭了吧。

所以才需要NVM來管理Node版本,只需要一行指令就可以完成各種命令!!
由於我的電腦是Window版本,以下步驟都是針對Window的環境所執行的指令。

首先,確定是Window環境後,再瀏覽器查詢 nvm Window
並找到點擊開頭是"GitHub – coreybutler/nvm-windows"

https://ithelp.ithome.com.tw/upload/images/20211010/20140244eYpyLvWoed.png

進入頁面後,找到右下角的 "Realease"

https://ithelp.ithome.com.tw/upload/images/20211010/20140244YTv4yRgSUe.png

並選擇要下載的版本。(這邊選擇最新版的1.1.7),點擊 nvm-setup.zip

https://ithelp.ithome.com.tw/upload/images/20211010/20140244dz0LSxBoIT.png

接著下載完成後->解壓縮

https://ithelp.ithome.com.tw/upload/images/20211010/20140244sChucJWwCD.png

點擊 nvm-setup.exe,開始安裝

https://ithelp.ithome.com.tw/upload/images/20211010/20140244J90jfNq9Qs.png

接著安裝首頁,需要勾選 接受協議 ->Next

https://ithelp.ithome.com.tw/upload/images/20211010/20140244xBABmsTlz7.png

接著如果資料夾沒有要特別修改就一直點擊 Next,直到最後點擊Install

https://ithelp.ithome.com.tw/upload/images/20211010/20140244aokjxeKc7k.png

因為事前在DAY3: node.js安裝環境已經有安裝過Nodjs 14.16.5版本,系統會跳出以下畫面詢問是否也要讓nvm管理此版本

https://ithelp.ithome.com.tw/upload/images/20211010/20140244Fo8pvOd13M.png

接著打開CMD,在裡面執行指令
首先查看nvm是否安裝成功 輸入nvm
會出現一大串內容,裡面包含下載的版本各個nvm指令和說明。

https://ithelp.ithome.com.tw/upload/images/20211010/20140244DA8Q3qGHmi.png
(圖片來源:Nicole本人)

輸入 nvm list
會顯示已經安裝的Nodejs版本,*表示正在運行的版本。

https://ithelp.ithome.com.tw/upload/images/20211010/20140244zgstxbwpDW.png

這時候可以輸入 node – v
版本是一樣的。

https://ithelp.ithome.com.tw/upload/images/20211010/20140244eXyaTkp0d9.png

接下來想看有哪些版本可以安裝,
輸入 nvm list available
會顯示出部分Nodejs版本,其中可以看到LTS就是穩定版本。

https://ithelp.ithome.com.tw/upload/images/20211010/20140244FMfPK3YsYM.png

若要安裝最新版本,直接輸入nvm install latest
現在我想安裝12.22.2這個版本,
輸入 nvm install 12.22.2

https://ithelp.ithome.com.tw/upload/images/20211010/20140244WxUVNBG2pL.png

Window用戶與macOS用戶不一樣的地方是,Window用戶需要手動切換版本,而masOS會自動切換。

這時候可以看到nvm中已經有兩個Nodejs版本了,目前正在使用的是14.17.5版本。

https://ithelp.ithome.com.tw/upload/images/20211010/20140244zfkfVdc4Fi.png

若要切換另一個版本,輸入 nvm use 12.22.2

https://ithelp.ithome.com.tw/upload/images/20211010/20140244TjHDpeWbw1.png

輸入 node – v ,查看運行版本是否一樣。

https://ithelp.ithome.com.tw/upload/images/20211010/201402441cFdYBDlv8.png

是的,那就代表現在使用nodejs時,使用的版本是12.22.2

卸載的時候,輸入 nvm uninstall 12.22.2

https://ithelp.ithome.com.tw/upload/images/20211010/2014024422mw7rMjD0.png

提醒:

切換到不同的版本時,裡面的NPM第三方模塊有需要用到時,是需要重新安裝的喔!

總結:

上面圖多文字也多,這邊整理一下上面有使用到的指令。
nvm : 查看下載版本,與nvm執行指令與說明。
nvm list : 顯示已經安裝的Nodejs版本。
nvm list available : 顯示出部分可安裝的Nodejs版本。
nvm install latest: 直接安裝最新版本。
nvm install [安裝版本] : 指定安裝的Nodejs版本。
nvm use [切換版本] : 切換指定的Nodejs版本。
nvm uninstall [卸載版本] : 卸載指定的Nodejs版本

可參考資料:
1.這篇解釋了LST的存在意義:
https://www.zhihu.com/question/35512237
2.這篇也說明了Window用戶的安裝步驟:
https://www.jianshu.com/p/13c0b3ca7c71
3.這篇則是說明了masOs用戶的安裝步驟:
https://www.jianshu.com/p/622ad36ee020

/images/emoticon/emoticon79.gif


上一篇
DAY27: var、const、let 在作用域上有甚麼不一樣?
下一篇
DAY29: 最後倒數
系列文
Node.js 非專業解說30

尚未有邦友留言

立即登入留言