前言
最近的新專案總要用到node.js 環境,所以乾脆寫個筆記,紀錄一下常用的指令。對初學者來說是蠻嚇人的,畢竟沒有圖形介面,全部都要靠指令的方式進行,親和力還是比較差一些,但一旦使用過幾次後,就會發現其實沒有這麼不好懂,
1. 確認你有安裝node.js 與 npm
在終端機(Terminal)輸入 node -v
你會看到目前你使用的node.js 版本,如果沒有安裝請輸入 brew install node
,如果你沒有 brew 請安裝brew , 在不然,最簡單的方式就是去官網下載軟體安裝:https://nodejs.org/ 。
安裝node.js 時就會自動安裝 npm ,也就是 node.js 套件管理工具,你可以在終端機(Terminal)輸入 npm -v
上訴指令就是查看npm 版本用的。我們想來實際安裝一個套件,最後我們在回來講解npm的用法。
2. 建議安裝 n 管理 node.js 版本
對於常在不同專案裡跳來跳去的接案工作室來說,n 是我們很常用到的套件, n 的工能是讓我們在不同的專案裡可以切換不同的node.js 版本,很多時候我們接手別人的專案,常常會有環境跑不起來的問題,通常把node.js 切換到就一點的版本就可以改善了,所以非常建議安裝 n ,但如果你不需要接手別人的專案,單純自己開發,那你可以先跳過n 套件的學習。安裝 n 的方法很簡單,你只要在終端機(Terminal)輸入以下指令: npm install -g n
上方的指令是指我要在整個node.js 世界裡多使用 n 套件, 所以在安裝指令上我們使用「-g」這個安裝設定,如此一來我們就可以在全部的node.js 環境裡快速切換node.js 版本!
3. n 的基本操作指令
安裝特定版本的node.js只要在終端機(Terminal)輸入 n (版本號)
例如可以打 n 14 就會安裝node.js 14 版本。
想切換已安裝的版本只要輸入 n
接著用上下鍵切換版本後按下enter 即可。
刪除某版本則是 n rm (版本號)
安裝穩定版本 n stable
安裝最新版 n lastest
最後是指定版本運行 n use (版本號) (app名稱).js
例如 n use 14 mytest.js
4. NPM 的用法
NPM 的用途就是管理套件,所以常用指令不外乎安裝套件、更新套件與刪除套件,基本上初學者只要會這些就夠應付大部分的案子了。安裝套件會有兩種情況,一種就是全域安裝,而另一種這是指安裝在單一專案裡,剛剛的 n 套件我們已經說過全域安裝指令是npm install -g n
因為 n 套件是管理node.js 版本,所以需要區域安裝,那如果我需要單一專案裡使用的套件,我該怎麼安裝呢? 我們改安裝 pug 套件試試 npm install pug
你會發現全域安裝與單一專案的安裝只差在「 -g 」這個設定,所以如果今天你要全域安裝就加上 -g 不需要則不加,而 -g 的設定不一定要放在 install 指令後面,也可以放在最後面 npm install n -g
學會了安裝套件,現在我們來說移除套件,移除套件也分全域安裝與單一專案安裝,只是從install的安裝改成了「不安裝」npm uninstall pug
更新套件就更簡單了 npm update pug
那如果我們裝了太多忘記自己裝了什麼該怎麼辦?這時你可以列出套件清單 npm list
那如果你需要列出全域的該這麼做?如果看完問題你已經知道答案,那我恭喜你,你已經會舉一反三了!答案就是 npm list -g
list 這個指令還可以簡寫成 ls ,所以你輸入 npm ls
也會獲得相同結果。
npm其實大概就是這樣,在你每次install 或 uninstall 等行為時,你會發現專案根目錄會出現一個package.json 與一個 package-lock.json,這兩個檔案就是在紀錄你的套件安裝版本,當其他人取得這個專案檔案的同時也會取得環境設定檔。
另外有一個奇怪的狀況,可能是你拿到別人的專案或是一直install 、 uninstall 可能會遇到npm 暫存導致一直噴錯誤訊息「npm resource busy or locked」,這個時候請使用請暫存指令npm cache clean
5. 如何安裝其他專案
不管你是拿到zip壓縮打包檔或是git 拉下來的檔案,請先檢查有沒有package.json 與 package-lock.json,通常來說,你只要把專案資料夾放到你的本機網站目錄區,接著輸入 npm install
就可以正常執行專案了。
但如果你沒有這麼好運,你可以打開package.json 查看dependencies裡所需安裝的套件跟你install 完之後的套件有無誤差,通常我會把專案資料夾裡的node_modules 資料夾刪掉,然後清一次npm的暫存,接著在重新install 一次,你會發現原本刪掉node_modules 資料夾又回來了,如果安裝順利,你可以在scripts 找到其他指令,通常會是 npm start
如果不是,你應該可以在scripts 找到啟動指令,記得前面要加上npm 喔!