n or nvm a nodejs version manager

這兩個都是nodejs的版本管理工具

不過很可惜的是n無法在windows上使用,而nvm則是要利用nvm-window

額外補充:nodist也是一款在windows尚可運行的管理套件不過我還沒有測試過之後在進行補充

照例

n : github page

nvm : github page

nvm-window : github page

因為現在工作環境在ubuntu16.04上面,所以我比較常用n來去做我的nodejs版本更新或者返回的動作

另外值得一提的是

n在切換nodejs版本時不會重新設定你的node_modules而nvm會

所以常用的global套件在使用nvm切換版本就得注意要重新安裝,不過當切回版本時global相關又會回來了

還有,在安裝nvm的時候,系統當中必須'沒有'安裝nodejs,nvm才能開始進行初步安裝

如果是使用n就不會有這問題

主要原因是兩者的安裝nodejs方式不同

首先看n安裝的部份

yarn global add n
再來是nvm安裝 (安裝在ubuntu 16.04\)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
或者

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

一個是裝在global node_modules當中,另外一個則是利用shell script的方式安裝,

如果一開始就有先安裝nodejs的話,在初始進行shell script的階段就會出錯

這點須特別注意

接下來就是指令對照,我只取常用的部份

n lts
安裝或者使用lts版本的nodejs

n [version] 安裝或者使用者輸入特定版本號之nodejs version can be latest lts or x.x.x version name

nvm install --lts
nvm安裝lts版本nodejs

nvm install [version]

注意:nvm當安裝完後不會自動將剛剛安裝的nodejs直接使用,必須搭配以下的指令

nvm use --lts
nvm使用lts版本的nodejs

如果說要migrate前一個版本所安裝的modules

nvm install [version] --reinstall-packages-from=node
nvm因為有支援io.js的安裝,所以可以將最末端的node改成iojs

n rm 7.7.4 v7.6.0
n移除7.7.4以及7.6.0版本的nodejs

nvm uninstall --lts
nvm 移除 lts版本的nodejs

n ls
nvm ls
同樣都是列出當前已經安裝的版本

在學習的時候當然都是一直拿最新的nodejs來寫以及使用尤其是7.0.0以後的版本支援async/await下,就會更常去使用

不過有些專案底下會需求使用舊版的,這時候這些的nodejs version manager就會很好用了

此外,這兩個都還有支援使用特定版本執行js,不過我是沒用過啦...

留言

這個網誌中的熱門文章

ts-node 應用

ubuntu 日常(X)紀錄

Angular 2 with Third Party files