
npx 是 Node.js 生态系统中一个用于执行 npm 包中可执行文件的命令行工具,自 npm 5.2.0 版本起内置,无需单独安装 。
node_modules/.bin),npx 会优先调用本地版本,避免版本冲突 。@version 指定运行特定版本,例如 npx create-react-app@5.0.0 my-app 。创建项目脚手架
npx create-react-app my-app
npx create-next-app@latest
运行一次性工具
npx cowsay "Hello" 无需安装 cowsay
npx http-server 启动本地 HTTP 服务器
调用本地开发依赖
npx eslint src/ 使用项目本地安装的 ESLint
npx webpack 使用项目本地安装的 Webpack
测试不同 Node.js 版本
npx node@14 --version 使用 Node.js 14 运行命令
查找顺序:
node_modules/.bin/ 中的命令缓存机制:
~/.npm/_npx 或 %APPDATA%\npm-cache\_npx),不会立即删除,以便下次快速使用 。安全注意:
bin 字段的包(即包含可执行文件的 CLI 工具)。npx gist:...),存在安全风险 。| 选项 | 说明 |
|---|---|
--no-install |
仅当包已安装时执行,否则报错 |
--ignore-existing |
忽略本地已安装版本,强制远程下载 |
-p <package> |
指定要安装的包(配合 -c 使用) |
-c '<command>' |
执行命令字符串(支持管道等) |
--version |
查看 npx 版本 |
| 功能 | npm | npx |
|---|---|---|
| 主要用途 | 安装/管理包依赖 | 执行包中的命令 |
| 是否需全局安装 | 是(若要全局使用) | 否 |
| 临时执行 | 不支持 | 支持 |
| 版本切换 | 复杂(需卸载/重装) | 简单(@version) |
💡 比喻:npm 像“买菜回家做饭”,npx 像“点外卖”——按需使用,无需长期占用资源 。
npm install -g <tool> 替换为 npx <tool> 。npx 使用项目本地依赖,避免环境差异 。如需验证是否可用,运行:
npx --version
只要 Node.js 版本 ≥ 8.2.0(对应 npm ≥ 5.2.0),即可直接使用 。