npm 和 yarn 都是 JavaScript 的包管理工具,用于管理项目中的依赖包。
yarn: 速度较快,因为它会缓存已下载的包,并在安装时利用并行下载来最大化资源利用率。
npm: 速度较慢,尤其是在网络不稳定的情况下,可能会出现延迟和丢包的情况。
yarn: 在执行代码之前,会通过算法校验每个安装包的完整性,提高了安全性。
npm: 安全性稍低,但提供了一些安全功能,如审计和锁定文件。
yarn: 提供了更简洁的输出,默认情况下只打印必要的信息,但也提供了一些命令来查询额外的安装信息。
npm: 输出信息较冗长,可能会在终端中打印出所有被安装的依赖信息。
yarn: 使用 yarn.lock 文件来记录确切安装的模块版本号,确保在不同系统上安装的依赖版本一致。
npm: 使用 package-lock.json 文件来记录确切安装的模块版本号,但需要手动执行 npm shrinkwrap 命令来生成锁定文件。
yarn init
npm init
yarn add [package]
npm install [package]
yarn 或 yarn install
npm install
yarn upgrade [package]
npm update [package]
yarn remove [package]
npm uninstall [package]
yarn 在速度、安全性和版本控制方面具有优势,但两者的功能基本相似,日常开发其实用那个都一样