理解 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