全部速查表前端開發

npx

npx 10+ (shipped with npm)

npx 命令快速參考:執行一次性套件執行檔、搭建專案、管理 npx 快取、鎖定版本,以及避免互動式 CLI 的陷阱——附常用參數與實作範例。

25 條命令

執行一次性執行檔

npx <pkg>

下載 `<pkg>` 的最新版本(若不在 `node_modules/.bin`)並執行其 CLI 進入點,之後清理臨時快取。

<pkg>@<version> 鎖定版本;--yes / -y 自動確認安裝提示;--package <pkg> 提供額外套件加入 PATH

npx cowsay hello
npx <pkg>@<version>

為此次執行鎖定版本。`@<version>` 語法使用 semver 範圍或 dist-tag,與 npm install 相同。

npx create-vite@latest my-app --template vue && npx [email protected] tsc --init
npx -y <pkg>

下載時跳過確認提示——CI 中必須,也是可重複的 shell 指令稿所需要的。

npx -y http-server . -p 8080

搭建專案

npx create-vite <name>

搭建 Vite 應用(Vue/React/Svelte/vanilla)——快速的搭建流程,不會讓 CLI 依賴膨脹你的專案。

--template vue | react | react-ts | svelte | lit | vanilla 等

npx create-vite my-app --template vue-ts
npx create-next-app <name>

搭建 Next.js 應用,可選擇路由器(App Router 或 Pages Router)、TypeScript 旗標、ESLint、Tailwind 與 `src/` 結構。

--typescript;--tailwind;--eslint;--app;--src-dir;--import-alias "@/*"

npx create-next-app@latest my-app --typescript --tailwind --eslint --app --src-dir
npx create-react-app <name>

搭建 CRA 風格的 React 應用(CRA 本身處於維護模式,但此執行檔仍可用於舊專案與快速 demo)。

--template typescript;--use-npm | yarn | pnpm

npx create-react-app my-app --template typescript

從本地 node_modules 執行

npx <bin>

當 `<bin>` 已經存在於當前 `node_modules/.bin` 時,npx 只執行而不下載任何東西。執行本地已安裝開發工具的推薦方式。

npx eslint src/ && npx tsc --noEmit && npx vitest run
npx --no-install <bin>

強制 npx 在找不到本地依賴時失敗而非從 registry 下載——CI 中用於偵測缺失依賴。

npx --no-install eslint src/

GitHub 託管的套件

npx github:user/repo

直接從 GitHub repo 的 `main` 分支執行其執行檔——方便一次性測試版本。

npx github:user/my-cli-tool --help
npx user/repo#<branch|tag|sha>

鎖定到 GitHub repo 的特定 ref。

npx user/repo#v1.2.3 --flag
npx gist:<gist-id>

執行託管在 GitHub gist 上的指令稿。適合共用工具,但要注意安全風險——任何人都可以執行任何 gist。

npx gist:abcd1234efgh5678

本地指令稿

npx <script.js>

用 Node 執行單一 JavaScript 檔案,自動使用本地 `node_modules` 解析 `require`/`import`。比 `node script.js` 更方便。

npx ./scripts/seed.ts
npx tsx <script.ts>

使用 `tsx`(或 `ts-node`)直接執行 TypeScript 檔案。需要在本地安裝 `tsx`。

npx tsx scripts/migrate.ts --dry-run

套件加入 PATH

npx --package=<pkg1> --package=<pkg2> <cmd>

為此次執行把額外套件加入 PATH。當執行器依賴尚未直接 `npm install` 的相依套件時很實用。

npx --package=typescript --package=@types/node tsc --init

快取控制

npx --clear-cache

清除 npx 的套件快取(POSIX 為 `~/.npm/_npx`,Windows 為 `%LocalAppData%\npm-cache\_npx`),下次執行會重新從 registry 下載。

-y 略過提示;--no 測試下載

npx --clear-cache && npx -y create-next-app@latest demo
ls ~/.npm/_npx

手動檢視已快取的套件——每個子目錄都是一個已解析的指定符,含自己的 `package.json` 與 `node_modules`。

ls -la ~/.npm/_npx && du -sh ~/.npm/_npx/*

鎖定行為

npx --always

即使本地已有同名執行檔,也強制 npx 從 registry 下載。當你想要最新的上游版本、不受專案依賴影響時很有用。

-y 自動接受安裝提示

npx --always --package=eslint eslint --version
npx -p <pkg> -c '<cmd>'

設定工作目錄,並為單次呼叫把 `<pkg>` 加入 PATH。`<cmd>` 會在安裝完成後執行。

npx -p [email protected] -c 'tsc --init && tsc'

互動式 CLI

npx -y <scaffold> <name>

大多數現代搭建工具(`create-vite`、`create-next-app`、`create-nuxt-app`)會自動偵測是否透過 `npx -y` 啟動,並略過安裝確認提示。

--typescript / --javascript / --template <name>

npx -y create-nuxt-app my-site

沙盒旗標

npx --shell-auto-fallback <bash|zsh|...>

覆寫 npx 自動偵測的 shell(用於 Windows 或不常見的 POSIX 環境)。

npx --shell-auto-fallback bash
npx --ignore-scripts

npx 安裝一次性套件時跳過生命週期腳本(postinstall/preinstall)。對不熟悉的指定符更安全。

npx --ignore-scripts -y some-cli --help

即時升級套件

npx --package <pkg>@latest -- <cmd>

使用 `<pkg>` 的最新可用版本執行指令,無論本地是否有安裝。

npx --package npm-check-updates -- ncu -i

檢視

npx --version

印出 npx 版本(與所隨的 npm 一致)。

npx --version
npx --help

列出 npx 接受的所有旗標。

npx --help

替代方案

npm exec -- <pkg> [args]

現代 npm 等同於 `npx <pkg>`。`npm exec` 接受相同的參數,部分 npm 文件推薦優先用它,但 `npx` 更短、更普遍。

--package <pkg>;--yes / -y;--call=<cmd>;--workspaces

npm exec -- create-vite@latest demo --template vue

相關命令速查

關於 npx

npx 是隨 npm(自 npm 5.2/2017)與 Node.js(自 7.0+)發佈的套件執行器。它會先在 `node_modules/.bin` 中尋找指令(永遠符合專案中已安裝的版本),如果找不到,則從 npm registry 下載套件到臨時快取(`~/.npm/_npx`)並執行一次,再清理。目前的 npx 隨 npm 10 發佈。npx 是執行搭建工具(`create-react-app`、`create-next-app`、`create-vite`)而不污染專案依賴的正確方式。npx 也接受 GitHub 風格的指定符(`github:user/repo`、`user/repo`)與 GitHub gists。自 npm 7+ 起,`npx` 大致上是 `npm exec --` 的包裝(後者曾被棄用又重新引入)。npx 不會把你的源碼傳到任何地方——它只從 registry 下載。npm registry 會記錄可從 `npmjs.com` 看到的彙總下載次數。相較於手動全域安裝,推薦使用 npx,因為它永遠執行最新版本或明確鎖定的版本,不會與專案的本地工具鏈衝突。

速查頁版本 1.0.0