NPM vs. NPX 最后更新时间:2025年05月17日 ### 文章来源 [NPM vs. NPX,傻傻分不清楚 ——程序员晚天](https://juejin.cn/post/7189924390274859066 "NPM vs. NPX,傻傻分不清楚 ——程序员晚天") npm 和 npx 在前端开发中都会时常被用到,npm 大家相对熟悉,npx 是什么则有一定的迷惑性,时常在安装依赖的命令中会看到,但是又不一定知道 npx 到底是什么,和 npm 有什么关系和区别。 ### NPM vs. NPX 简单来说,npm 是一个 node 包管理器,npx 是一个 Node 包执行器。 NPM 是 Node 包管理器。NPM 内置在 Node.js 中,通过命令行工具 CLI 来和线上 NPM 数据库进行交互,这个数据库被称为 NPM Register, NPX 是一个 Node 包执行器,该 Node 包可以是本地也可以是远程的。允许开发者在无需安装的情况下执行任意 Node 包。 NPX 安装方法: ```shell npm install -g npx ``` 执行本地 Node 包时,NPX 会到node_modules/.bin路径和环境变量 $PATH 里面,检查命令是否存在。 执行远程 Node 包时,NPX 会将 Node 包下载到一个临时目录中,使用以后再删除。 ### 举个栗子 下面我们通过 NPM 和 NPX 执行 Node 包的例子来更具象的了解 NPM 和 NPX 的不同。 使用 NPM 执行 将 Node 包安装到本地: ```shell npm install package_name ``` 通过本地路径执行 Node 包: ```shell ./node_modules/.bin/package_name ``` 也可以通过 package.json 中的 scripts 命令来执行 Node 包: package.json: ```json { "name": "Project-Name", "version": "x.y.z", "scripts": { "package-name": "package-name" } } ``` 执行 scripts: ```shell npm run package-name ``` 使用 NPX 执行 通过 NPX 则简单很多,无需安装 Node 包就可以通过一个命令执行 Node 包。执行执行如下命令: ```shell npx your-package-name ``` ### 总结 NPM 是一个 Node 包管理器,NPX 是一个 Node 包执行器。Node 的执行也可以 NPM 来完成,但是必须进行本地安装,通过定位本地路径或者配置 scripts 来能执行。NPX 则通过一个简单命令大大简化了包运行的成本,既可以运行本地包,也可以远程包,无需安装包也可以执行该包,这就有效避免了本地磁盘污染的问题,节省了本地磁盘空间。 参考资料 [Difference between NPM and NPX](https://link.juejin.cn?target=https%3A%2F%2Fwww.codingninjas.com%2Fcodestudio%2Flibrary%2Fdifference-between-npm-and-npx "Difference between NPM and NPX") [npm vs npx — What’s the Difference?](https://link.juejin.cn/?target=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fnpm-vs-npx-whats-the-difference%2F "npm vs npx — What’s the Difference?") [npx](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fnpm%2Fnpx "npx") [npx 使用教程 - 阮一峰的网络日志](https://link.juejin.cn/?target=https%3A%2F%2Fwww.ruanyifeng.com%2Fblog%2F2019%2F02%2Fnpx.html "npx 使用教程 - 阮一峰的网络日志")
Comments | NOTHING