NPM – 套件管理程式

一. 前言

NPM, 是「Newbie Paintball Master」…不對是「Nobel Prize Magnet」…也不對,好啦!其實是「Node Package Manager」

雖然本來npm主要是來管理JavaScript的套件(Package),但是越來越多人使用npm,所以在上面可以找到很多其他語言編寫的套件,這也是為什麼npm會被官方惡搞(大家可以點點看官網左上角的小字),因為他已經不是單單為Node.js而生了。

原本是安裝管理Node.js的套件的軟體,本來我們想用別人的code來工作時,需要複製、貼上別人的程式碼到自己的資料夾,但是如果使用npm,我們可以以標準化的方式來安裝、移除或更新這些程式碼。

二. 安裝npm

當你安裝Node.js到電腦上時,npm也會同時被安裝,如果你是使用Mac,可以使用brew install node來安裝,如果你是使用Windows,請直接到Node.js官網下載安裝檔。

補充:LTS = Long Term Support,代表長期支援的版本

三. 尋找套件

有了npm可以安裝套件後,當然也要有地方找我們想要的套件,除了各個套件自己的網站或Github頁面外,npm自己也有個套件列表,我們可以在此搜尋想要的套件,但有時候有多個套件任君挑選時,我們該如何篩選套件呢?

下面列出一些準則來給各位參考(但非絕對):

  • 下載數量:代表了套件的熱門程度
  • Release的次數:越多Release代表越常維護
  • 最後一次publish的時間:要是套件最後一次更新是兩年前,那麼最好還是再找一下其他套件吧
  • Github上issue數:本來是寫越少越好,因為當時單純認為issue數代表問題多寡,但仔細思考後,issue多反而代表該套件十分活躍,所以應該要是越多越好才是(感謝CrazyLion)
  • Github上熱門的程度:星號、關注、貢獻,這些當然都是越多越好囉

四. 安裝套件

安裝套件有兩種模式:LocalGlobal

  • Local:代表本地模式,就是安裝在當下的資料夾內,該套件的指令也只有在當下的資料夾才有作用
  • Global:代表全域模式,安裝之後不管終端機當下位置在哪都可以執行該套件的指令

Node.js套件使用

基本上請詳細看過套件的README,裡面應該都會詳細說明該如何使用,一般來說是在自己的code前面新增一行:var pkgName = require("pkgName");,就可以在自己的code內使用該套件的內容了。

指令列表:

  • 列出所有npm指令
    • npm
  • 以本地模式安裝套件
    • npm install
    • ex: npm install passport
  • 以全域模式安裝套件
    • npm install -g
    • ex: npm install -g coffee-script

五. 管理套件

Package.json

要是在本地端安裝套件的話,會看見一個「node_module」出現在資料夾內,裡面放著的就是我們所安裝的套件。

npm_1

3 Comments

  1. Github上issue數:基本上越少越好,但也可能是因為很多人測試所造成的現象
    =======
    我的看法倒是相反,可能是很少人用。 應該是看他issue的動態比較合理。 因為功能需求在github上也是用 issue在管理呢

  2. 學習了,很清楚實用的筆記。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料