全部速查表前端开发

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 直接执行,不会从 registry 拉取。运行本地已安装开发工具的推荐方式。

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 仓库的 `main` 分支运行二进制——适合一次性测试版本。

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

锁定到 GitHub 仓库的特定 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

为运行准备的包

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 在 Windows / 特殊 POSIX 环境下的 shell 自动检测。

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

当 npx 安装一次性包时跳过生命周期脚本(postinstall / preinstall)。对陌生 spec 更安全。

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`,但 `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 gist。npm 7+ 起,`npx` 主要是 `npm exec --` 的包装(`npm exec` 曾被废弃后又恢复)。npx 不会发送你的源码到任何地方——它只从 registry 下载。npm registry 会汇总下载计数并在 `npmjs.com` 上展示。相比手工全局安装,更推荐 npx,因为它始终运行最新版本或显式锁定的版本,且不会与项目本地工具链冲突。

速查页版本 1.0.0