安裝NodeJs及版本切換控制(mac)

前置軟體準備

  • homebrew — 套件件管理工具
  • nvm — node版本控制
  • Node.Js— Node.Js本人

安裝順序:homebrew -> nvm -> nodejs

若只是練習玩玩,不裝homebrew、nvm,直接安裝Node.Js也行
但之後遇上需要版本切換的問題,就會相當麻煩…

1. 安裝Homebrew

Homebrew是mac上相當好用的套件管理工具,推薦安裝使用!
安裝方法
打開終端機(terminal),輸入下列指令

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

此時會自動下載並安裝xcode

2. 安裝nvm

終端機(terminal)下繼續輸入

git clone git://github.com/creationix/nvm.git ~/.nvm    //下載及安裝nvm
open . ~/.bash_profile //會用記事本開啟

在記事本裡輸入內容

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

存檔後關閉
接著回終端機(terminal)下繼續輸入

open ~/.bashrc

一樣會再開啟記事本
輸入

. ~/.nvm/nvm.sh

存檔後關閉
再回終端機(terminal)輸入

source ~/bashrc

補充說明: .bashrc vs .bash_profile

個人理解是類似windows下的環境變數。(如有錯誤請告知)

當你籍由輸入帳號密碼(不論 console或是ssh)登入時 ,系統透過 .bash_profile 執行相關的設定動作。
而 .bashrc 則是在已經登入的情況下,開啟終端機(terminal)視窗,在命令提示符號出現前,就會先執行 .bashrc 內的指令

一次維護2個檔案相當麻煩,所以在.bash_profile輸入下列指令呼叫

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

以後若還需要新增其他指令時,只要統一寫在.bashrc就好!

3. 安裝Node.Js

nvm ls-remote  //列出nvm上所有nodejs的版本,很長一串
nvm install v10.15.1  // 安裝想要裝的版本,通常直接安裝最新版
nvm install node //或直接輸入此行,自動安裝最新版本
nvm alias default v10.15.1  // 設成預設值

完成安裝!

4. 切換nodejs版本

終端機(terminal)輸入

nvm ls    // 列出本機已安裝的版本
nvm use v10.15.1  // 選擇要使用的版本
nvm alias default v10.15.1  //設成default version

若只是use,則只限於當下的終端機(terminal)是使用該版本!(方便你確認是否版本問題造成程式錯誤)。而再開一個新的終端機,下node -v,會發現系統仍是載入預設的版本。

無特殊需求的話,安裝完新版本後,都要再將新版本設定成default

在VS Code上若無法自動載入nvm的最新版本時…

vscode 終端機中若出現

nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"
Run `npm config delete prefix` or `nvm use --delete-prefix v10.2.1 --silent` to unset it.
  1. 進到設定頁面
  2. 選到延伸模組
  3. 右邊有個在settings.json內編輯
  4. 接著增加一行"terminal.integrated.shellArgs.osx": []。若前面有其他設定,記得加上,
  5. 存檔,重啟vscode,就可以正常套入nvm的設定!

參考資料:

icarus4’s blog

dreamerLab

James’s blog

vscode/issues