npx和npm区别

npxnpm 是 Node.js 生态中的两个工具,它们有不同的用途和功能:


1. npm(Node Package Manager)

主要作用:
  • 包管理工具
    • 用来安装、管理、卸载 Node.js 的包(module/library)。
    • 提供命令如 npm installnpm uninstall 等。
  • 全局安装与本地安装
    • 本地安装npm install package-name 会把包安装在当前项目的 node_modules 目录中。
    • 全局安装npm install -g package-name 会把包安装在全局目录中,可以作为命令行工具使用。
使用场景:
  • 安装依赖库到项目中或全局环境。
  • 管理项目的依赖项(通过 package.json 文件)。
示例:
复制代码
# 本地安装一个包
npm install express

# 全局安装一个包
npm install -g create-react-app

2. npx(Node Package Runner)

主要作用:
  • 临时执行工具
    • npx 可以运行从 npm 注册表中下载的 Node.js 包,而不需要全局安装。
  • 避免全局安装
    • 避免不必要的全局安装,减少全局依赖管理的复杂度。
  • 简化命令执行
    • 直接执行包提供的命令,而不需要手动查找路径。
使用场景:
  • 临时运行一个 CLI 工具或脚本,而无需全局安装。
  • 快速执行一些初始化命令,例如创建项目。
示例:
复制代码
# 使用 npx 创建一个 React 应用
npx create-react-app my-app

# 使用 npx 运行本地安装的工具
npx webpack

# 直接运行一次性包
npx cowsay "Hello World"

区别总结

特性 npm npx
主要用途 安装和管理包 临时执行包或工具
全局安装 需要显式使用 npm install -g 不需要全局安装,直接运行
执行已安装的工具 需要手动指定路径或在 PATH 直接运行
适用场景 安装依赖、管理项目模块 一次性运行工具、初始化项目

什么时候用 npx 更好?

  1. 临时运行工具时,例如快速初始化项目(create-react-app)。
  2. 避免污染全局环境时(不想全局安装大量工具)。
  3. 执行项目本地依赖的 CLI 工具时,避免路径问题。

什么时候用 npm 更好?

  1. 需要长期使用某些工具时(例如 nodemon)。
  2. 管理项目的依赖项时。
  3. 本地安装开发依赖或全局安装频繁使用的 CLI 工具时。

简单来说,npm 是用来 安装和管理包 的,而 npx 是用来 运行包或工具 的。

相关推荐
喝拿铁写前端22 分钟前
一套面向 Web、H5、小程序与 Flutter 的多端一致性技术方案
前端·架构
yaaakaaang27 分钟前
(一)前端,如此简单!---下载Nginx
前端·nginx
牛奶33 分钟前
为什么全国人民都能秒开同一个视频?
前端·http·cdn
KongHen021 小时前
uniapp-x实现自定义tabbar
前端·javascript·uni-app·unix
汪子熙1 小时前
TS2320 错误的本质、触发场景与在 Angular / RxJS 项目中的系统化应对
前端·javascript·angular.js
我命由我123451 小时前
React - BrowserRouter 与 HashRouter、push 模式与 replace 模式、编程式导航、withRouter
开发语言·前端·javascript·react.js·前端框架·html·ecmascript
Younglina1 小时前
用AI全自动生成连环画?我试了,效果惊艳!
前端·ai编程·claude
Devin_chen1 小时前
ES6 Class 渐进式详解
前端·javascript
小番茄夫斯基1 小时前
前端开发的过程中,需要mock 数据,但是走的原来的接口,要怎么做
前端·javascript
peachSoda72 小时前
前端想转AI全栈-初步练习记录
前端·人工智能