理解 TypeScript 的全局與局部安裝:tsc 與 npx tsc 的執行邏輯全面解析

| TypeScript | 6 Reads

在使用 TypeScript 開發專案時,你可能會遇到以下問題:

  • 為什麼我明明安裝了 TypeScript 卻無法使用 tsc

  • tsc --versionnpx tsc --version 有什麼不同?

  • 是否需要同時安裝全局與局部版本?

這篇文章將以簡單明瞭的表格與說明,帶你一次搞懂 TypeScript 的 全局與局部安裝邏輯,並分析 tsc 指令的解析優先順序。


📦 安裝方式介紹

全局安裝(Global)

npm install -g typescript
  • 安裝到你的全局環境,通常會加到系統的 PATH 環境變數中。

  • tsc 可在任意位置執行,但無專案依賴隔離。

  • 適用於全域使用或 CLI 開發者。

局部安裝(Local)

npm install typescript --save-dev
  • 安裝於專案的 node_modules 下。

  • 利用 npx tscnpm run build 執行。

  • 適用於專案依賴鎖定版本,團隊開發更穩定。


🧠 行為總結表格

是否有全局 是否有局部 tsc --version 結果 npx tsc --version 結果
❌ 否 ❌ 否 ❌ 無法找到指令 ❌ 無法找到模組
✅ 是 ❌ 否 ✅ 顯示全局版本 ✅ fallback 顯示全局版本
❌ 否 ✅ 是 ❌ 找不到指令 ✅ 顯示專案版本
✅ 是 ✅ 是 ✅ 顯示全局版本 ✅ 優先顯示專案版本

🔍 詳細說明

1. 完全未安裝

你將看到如下錯誤:

tsc : 無法辨識的命令

npx: command not found: tsc

2. 僅全局安裝

你可以使用:

tsc --version        # ✅ 顯示全局版本
npx tsc --version    # ✅ fallback 到全局版本

⚠️ 注意:npx 會先找 local,再找 global,因此若 local 不存在就 fallback。


3. 僅局部安裝

tsc --version        # ❌ 找不到(因為不在 PATH)
npx tsc --version    # ✅ 執行 node_modules/.bin/tsc

這是推薦的用法,保證團隊每人使用相同版本。


4. 同時安裝

tsc --version        # ✅ 顯示全局版本
npx tsc --version    # ✅ 優先使用專案版本

這種情況下,npx 會優先使用專案版本,保證一致性。


✅ 實務建議

場景 建議
團隊開發、CI/CD 僅使用局部安裝 + npx
CLI 工具開發 同時安裝(方便測試與全局執行)
單機腳本或學習用途 僅全局安裝即可

🧩 結語

理解 tsc 的尋找邏輯與安裝方式能幫助你避免常見的錯誤與混淆。無論是想用全局還是局部,建議 盡量使用 npx tsc 來確保一致性與可預期性


返回目錄

This article was last edited at