随 npm 5.2.0+ 一起安装的命令行工具,执行 npm package 中的命令,无需全局安装或在项目中单独配置依赖。
原理
执行时依次查找:
node_modules/.bin- 环境变量
$PATH - 若不存在 → 临时从仓库下载 → 执行 → 删除(不留痕迹)
基本使用
# 创建 React 项目(无需全局安装 create-react-app)
npx create-react-app my-app
# 运行项目本地安装的 webpack
npx webpack --config webpack.config.js
# 从 GitHub 仓库直接运行
npx github:facebook/create-react-app进阶用法
# 指定版本执行
npx create-react-app@4.0.0 my-app
# 禁止自动安装(只用本地已有的)
npx --no-install create-react-app my-app
# 强制使用最新版(忽略缓存)
npx --ignore-existing create-react-app my-app优点
- 避免全局安装可执行依赖包,不污染全局环境
- 可以执行依赖包中的命令,安装完成后自动运行
- 自动加载
node_modules中的依赖包,无需手动指定$PATH - 支持指定特定 Node 版本和命令版本
工具边界
- npx 是命令执行器,不是包管理器
- 临时工具用 npx,项目内工具用
npm run - bun 用户可以用 bunx(
bun x别名)代替 npx,速度更快