理解 TypeScript 的全局與局部安裝:tsc 與 npx tsc 的執行邏輯全面解析
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1174
在使用 TypeScript 開發專案時,你可能會遇到以下問題:
-
為什麼我明明安裝了 TypeScript 卻無法使用
tsc? -
tsc --version和npx tsc --version有什麼不同? -
是否需要同時安裝全局與局部版本?
這篇文章將以簡單明瞭的表格與說明,帶你一次搞懂 TypeScript 的 全局與局部安裝邏輯,並分析 tsc 指令的解析優先順序。
📦 安裝方式介紹
全局安裝(Global)
npm install -g typescript
-
安裝到你的全局環境,通常會加到系統的
PATH環境變數中。 -
tsc可在任意位置執行,但無專案依賴隔離。 -
適用於全域使用或 CLI 開發者。
局部安裝(Local)
npm install typescript --save-dev
-
安裝於專案的
node_modules下。 -
利用
npx tsc或npm 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