nodeJs 介紹與 mac 安裝

nodeJs 是一個跨平台且開放原始碼的 javascript 執行環境,有了node.js,原先大多用在客戶端瀏覽器的 javascript 也能用在伺服器端。

nodeJs 最便利的是它擁有許多套件(這也是它能在伺服器端運行的原因之一),能簡省很多編寫程式的時間與簡化程式內容。

今天要介紹的就是如何安裝 nodeJs 的方法。

至於套件,敬請拭目以待 (ゝ∀・)

1. 簡介 nodeJs

官網:https://nodejs.org/en/ (英文)

維基:https://zh.wikipedia.org/wiki/Node.js (中文)

大多都在開頭就說完了,這邊就來看看如何安裝吧!

2. 安裝 nodeJs

安裝方式基本上有兩種:使用 Homebrew 或使用 nvm。對於版本更新快速的 nodeJs 來說推薦使用 nvm 安裝,除了可以安裝多個版本的 nodeJs 外,在版本切換上也很便利。

雖然這麼說,但這邊還是會介紹 Homebrew 安裝的方式。

2.1. 使用 Homebrew 安裝

安裝前請先確認 mac 上是否有安裝 Homebrew,詳細請看這一篇:Homebrew – Mac 的套件系統。確認有安裝 Homebrew 後可以這樣安裝 nodeJs:

  1. $ brew install node

沒加上版本的話會是安裝最新版 nodeJs,要裝特定版本的話可以這樣:

  1. $ brew install node@8
  2. # 8 就是版本

2.2. 使用 nvm 安裝

安裝之前請先確認 nvm 已安裝,可以使用command -v nvm進行檢查。

command-v-nvm
[圖一] 測試nvm是否有安裝-1
或是nvm --version

nvm-version
[圖二]測試nvm是否有安裝-2
若兩條指令都沒反應,或提示 nvm 不是一個指令,請參照這一篇 nvm 介紹與 mac 版安裝進行安裝。

確定 nvm 已安裝後,就可以開始安裝 nodeJs 啦。

2.2.1 確認版本

首先需要確認目前可安裝的 nodeJs 版本,使用nvm ls-remote

nvm-ls-remote
[圖三] 確認nodejs所有可安裝版本
剛按下 Enter 可能會沒反應,等他一下。這行指令的作用就是列出所有可安裝的 nodeJs 版本,讓各位自由選擇要安裝的版本。

至於為何不是「每次安裝都以最新版為主,等新版出之後再進行更新」這種模式呢?這是因為有些模組(或是理解成套件)是以某些版本的 nodeJs 為主要運行版本,或是當初開發專案時還沒出現這個新版本,所以才會出現這種讓各位自由安裝版本(可以安裝多個版本,再使用 nvm 進行切換)的方式。

此篇文章以安裝教學為主,所以就裝最新版吧!

2.2.2. 安裝特定版本

假設目前(2017-08-07)nodeJs 最新版本是 v8.2.1,安裝指令為:

  1. nvm install v.8.2.1

很抱歉這邊沒有範例圖(忘了截圖),總之就是等他都跑完(有時可能會卡一下,就先放置等他)。

安裝完後,輸入node --version,如果有出現版本號就表示安裝成功了。

到這邊其實 nodeJs 已經安裝完畢了,是的,本日教學到此結束哼哼哈哈哈,接著講點其他各位可能會遇到的事情,像是需要用到舊版的 nodeJs 該怎麼辦。

3. 問題集

Q1. 這篇使用的指令在哪裡,要怎麼看?

這篇文章使用的所有指令都在nvm --help裡,裡頭目前某貓使用的也只有少數一兩個(之後的教學會介紹),其他各位英文 ok 的可以研究研究其他怎麼用 (`・∀・)

Q2. 可不可以安裝其他版本的 nodeJs 呢?

答案是可以的。

因為 nodeJs 更新速度太快,有時候正在使用的版本過個禮拜就變舊版了……為了目前上線版本的穩定性又不可以冒然換新版本,但又想換成新版本開發之後再補上線……這時就可以維持當前版本,然後再安裝新版。

至於安裝方法就如步驟二的安裝方法一樣,選擇需要的版本號即可。

Q3. 常看到說要切換到其他版本的 nodeJs,要怎麼做?

使用nvm use就可以囉,例如切換到 v8.3.0,就是nvm use 8.3.0。但要注意的是,這樣切換後,只有下這條指令的終端機才有進行切換,另開新終端機就還是原本安裝的版本喔。

要完全將使用版本切換要增加其他的指令,因為篇幅問題某貓會再開一篇新文章介紹,敬請拭目以待。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Powered by WordPress.com.

Up ↑

%d bloggers like this: