NPM
名詞 · 套件管理器
Node.js 的官方套件管理器,也是全球最大的開源軟體登錄庫——託管超過 200 萬個 JavaScript 套件,讓開發者能以標準化和版本化的方式分享、重用和分發程式碼。
隨每次 Node.js 安裝一同提供的命令列工具(CLI),自動化 JavaScript 專案的依賴項安裝、更新和管理——透過 `package-lock.json` 檔案和確定性版本解析確保建構的可重現性。
完整的生態系統,包含公開登錄庫(npmjs.com)、CLI 客戶端和組織管理功能——已成為現代網頁開發的基石,為 React、Next.js、Express.js 和幾乎所有專業 JavaScript 函式庫提供分發基礎設施。
NPM(Node Package Manager)用於管理 JavaScript 專案的依賴項,自動化第三方函式庫的安裝、更新和移除。它讓開發者能重用經過驗證的開源程式碼而非從頭編寫,大幅加速開發週期。NPM 也用於執行 `package.json` 檔案中定義的建構、測試和部署腳本。這是我們在 Async Code 每天使用的每個現代網頁專案不可或缺的工具。
NPM 是 Node.js 的預設套件管理器,由一個包含超過 200 萬個套件的線上登錄庫(npmjs.com)和一個命令列工具組成。其運作方式很簡單:當您執行 `npm install` 時,CLI 讀取專案的 `package.json` 檔案、解析依賴樹、從登錄庫下載套件並將它們安裝到 `node_modules` 資料夾中。`package-lock.json` 檔案確保團隊中的每個成員和每個環境使用完全相同的版本。
命令 `npm install -g` 在您的系統上全域安裝套件,使其可從任何目錄透過命令列存取。與本地安裝(不帶 `-g` 旗標)將套件放在當前專案的 `node_modules` 資料夾不同,全域安裝保留給 CLI 工具如 `typescript`、`nodemon` 或 `create-next-app`。在實務上,我們建議盡量減少全域安裝,偏好使用 `npx` 來臨時執行工具而不汙染系統環境。
Node.js 是伺服器端 JavaScript 執行環境,建構在 Chrome 的 V8 引擎上,讓 JavaScript 能在瀏覽器之外運行。NPM 是隨 Node.js 提供的套件管理器,負責管理專案的函式庫和依賴項。簡而言之:Node.js 執行程式碼,NPM 管理程式碼模組。兩者在現代網頁開發中互補且不可分割——安裝 Node.js 會自動安裝 NPM。
NPM 用於集中化和自動化 JavaScript 專案所有依賴項的管理。它能用一個命令安裝 React 或 Next.js 等框架,維護函式庫版本間的相容性,並與社群分享您自己的模組。NPM 也管理 `package.json` 中定義的開發腳本(建構、測試、程式碼檢查、部署),使其成為所有專業開發工作流程的總指揮。我們的團隊依靠 NPM 來確保可重現的建構和可靠的部署。
是的,命令 `npm install`(或其簡寫 `npm i`)觸發下載並安裝專案 `package.json` 檔案中列出的所有依賴項。它建立包含套件的 `node_modules` 資料夾,並生成 `package-lock.json` 檔案以鎖定版本。您也可以使用 `npm install 套件名稱` 安裝特定套件。這通常是複製專案後為準備開發環境而執行的第一個命令。
要在 Windows 上安裝 NPM,從官方網站 nodejs.org 下載 Node.js 安裝程式——NPM 自動包含在每次 Node.js 安裝中。執行 `.msi` 安裝程式,按照精靈步驟操作,勾選新增到系統 PATH 的選項。安裝後,開啟終端機(PowerShell 或 CMD)並使用 `node -v` 和 `npm -v` 驗證。對於專業開發者,我們建議使用 NVM for Windows(Node Version Manager),以便根據專案輕鬆切換不同版本的 Node.js。
命令提示字元(終端機)中的 NPM 是命令列介面(CLI),用於與 NPM 登錄庫互動並管理專案的依賴項。主要命令包括:`npm init`(建立專案)、`npm install`(安裝依賴項)、`npm run`(執行腳本)、`npm update`(更新套件)和 `npm publish`(發布套件)。這是每個 JavaScript 開發者每天用來管理專案完整生命週期的工具。
不,NPM 和 Node.js 是兩個不同但互補的工具。Node.js 是讓 JavaScript 能在伺服器或本機上運行的執行環境。NPM 是管理專案所需函式庫和模組的套件管理器。NPM 隨 Node.js 一起分發——安裝其一會自動安裝另一個——但它們執行不同的功能。就像引擎(Node.js)和零件倉庫(NPM)的區別。
NPM 在 JavaScript 開發中履行四個基本功能:安裝和管理專案的依賴項、執行自動化腳本(建構、測試、部署)、管理語義版本控制以確保套件間的相容性,以及提供集中式登錄庫來發布和分享開源程式碼。沒有 NPM,每個開發者都必須手動下載、配置和更新每個函式庫。在 Async Code,NPM 是我們所有 Next.js 應用程式開發、CI/CD 和部署鏈的基礎。