npx 是一个随 npm(版本 5.2.0 及以上)一起安装的工具,它的主要作用是执行 npm 包中的二进制文件。换句话说,npx 允许你在不全局安装某个包的情况下,直接运行该包提供的命令行工具。
以下是 npx 的主要功能和使用场景:
1. 执行本地安装的包
如果你通过 npm install <package> 安装了一个包到项目的 node_modules/.bin 目录中,npx 可以帮助你直接运行这个包的命令。
示例:
假设你的项目中安装了 eslint,你可以通过以下命令运行它:
npx eslint .
这会调用当前项目中 node_modules/.bin/eslint 的可执行文件,而无需全局安装 eslint。
2. 临时运行未安装的包
npx 还可以临时下载并运行一个尚未安装的包。它会在运行结束后自动清理临时文件。
示例:
如果你想运行 create-react-app 创建一个新的 React 项目,可以直接使用以下命令:
npx create-react-app my-app
这条命令会:
- 临时下载
create-react-app。 - 执行
create-react-app提供的命令。 - 在命令执行完成后清理临时文件。
3. 强制重新下载包
如果需要强制重新下载某个包,可以使用 --ignore-existing 参数。
示例:
npx --ignore-existing create-react-app my-app
这条命令会忽略本地已有的包,重新下载最新版本。
4. 查看包的版本
你可以使用 npx 来查看某个包的版本信息。
示例:
npx eslint --version
这条命令会输出 eslint 的版本号。
5. 运行本地脚本
npx 还可以用来运行任意的 JavaScript 文件或命令。
示例:
假设你有一个本地脚本 script.js,你可以通过以下方式运行它:
npx node script.js
6. 使用别名运行命令
npx 支持为命令设置别名,方便快速执行。
示例:
npx @vue/cli create my-vue-app
这条命令会调用 Vue CLI 创建一个新的 Vue 项目。
7. 解决全局安装的问题
在以前,开发者通常需要通过 npm install -g <package> 全局安装一些工具包才能使用它们的命令行工具。但全局安装可能会导致版本冲突或污染环境。npx 的出现解决了这个问题,因为它优先使用本地安装的包,避免了全局安装的麻烦。
总结
npx 的核心作用是简化命令行工具的执行过程,无论是运行本地安装的包、临时使用某个包,还是避免全局安装的复杂性,npx 都能提供极大的便利。

浙公网安备 33010602011771号