【node】关于npm、yarn、npx的区别与使用

文章目录

npm (Node Package Manager):

  • 用途: npm 是 Node.js 官方提供的包管理工具,用于安装、管理和分享 JavaScript 代码包。
  • 安装依赖: 可以通过 npm install 安装项目依赖,例如:npm install package-name。
  • 运行脚本: 可以在 package.json 文件中定义脚本,通过 npm run script-name 执行脚本。
  • 版本管理: 提供版本管理,可以指定安装的包的版本。
  • 全局安装: 通过 -g 参数可以进行全局安装,使包成为全局可执行命令。

安装依赖

html 复制代码
npm install package-name

运行脚本

html 复制代码
npm run start

npx:

  • 用途: npx 是随同 npm 5.2.0+ 版本发布的工具,用于执行项目依赖中的可执行文件,无需显式安装到全局或本地。
  • 临时安装: npx 会在执行命令时,临时安装依赖包,而不需要将其添加到项目的依赖中。
  • 版本检查: 如果本地项目中存在相应版本的依赖,npx 将使用项目中的版本执行,否则会下载并执行最新版本。

执行项目依赖中的命令

cmd 复制代码
npx package-name

yarn:

  • 用途: yarn 是一个 JavaScript 包管理工具,用于替代 npm 进行包的管理。
  • 性能优化: 具有更快的安装速度、离线安装、并行下载等性能优化。
  • 版本锁定: 通过 yarn.lock 文件可以锁定依赖包的版本,确保团队成员使用相同的版本。
  • 自动清理: 自动清理不再使用的依赖。

安装依赖

cmd 复制代码
yarn add package-name

选择使用:
npm vs. yarn: npm 和 yarn 都是常见的包管理工具,选择取决于个人或团队的偏好。在大多数情况下,两者的功能基本相似,可以根据具体需求进行选择。

npx 的使用场景: npx 通常用于执行项目依赖中的可执行文件,适用于需要一次性执行某个命令而无需全局安装的情况。

总体来说,这些工具在 JavaScript 生态系统中起到了关键作用,提供了便捷的包管理和执行脚本的方式。

eg.使用npx yarn install 的作用

npx yarn install 的作用是使用 npx 命令来运行 yarn install,实际上它等同于直接运行 yarn install。让我们分解一下这个命令:

npx: 用于执行可执行文件,通常是在项目依赖中找到的可执行文件。如果没有全局安装 yarn,npx 会查找项目依赖中的 yarn 并执行。

yarn install: 是 yarn 命令的一部分,用于安装项目的依赖。

因此,npx yarn install 的效果与直接运行 yarn install 是一样的。通常情况下,你可以直接使用 yarn install 来安装项目依赖,而不需要额外使用 npx。

如果项目中已经存在 yarn 的二进制可执行文件,你也可以直接运行:

cmd 复制代码
yarn install

或者如果你希望确保使用项目中的 yarn,可以使用 npx:

cmd 复制代码
npx yarn install

这对于确保使用项目中的本地 yarn 版本而不是全局版本可能是有用的。

相关推荐
有味道的男人9 分钟前
搜好货平台关键词商品搜索接口:分页容错与商品数据轻量化提取方案
服务器·前端·javascript
lovingsoft1 小时前
Chrome Lighthouse 详解
前端·chrome
Qlly1 小时前
全栈工程师怎么接需求?从一句「加个功能」聊到能开发、能验收
前端·后端
马可家的菠萝1 小时前
你的微信“文件传输助手”,是不是已经成了第二个网盘?
前端·后端·架构
略略略啦1 小时前
Vibe Coding 基于Spec DD和TDD的实践指南
前端
shmily麻瓜小菜鸡1 小时前
前端实现图片与PDF文字识别敏感信息打码方案
前端·pdf·状态模式
打工仔折腾 AI1 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
汉堡大王95272 小时前
单次输出拉到100万Token:拆完 Gemini 4 Argon 的续写协议,才看懂谷歌这7个月在憋什么
前端·人工智能·后端
看浪的路人2 小时前
第9讲:大模型应用监控与可观测性——OpenTelemetry + Prometheus + Grafana 全链路追踪
java·前端·spring
内存过载2 小时前
用表格模拟甘特图:项目排期的土办法
前端·低代码