请你简单谈谈对 npm、cnpm、npx、pnpm、yarn 的了解?
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
请你简单谈谈对 npm、cnpm、npx、pnpm、yarn 的了解?
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
npm 是 Node.js 的包管理器,用于安装和管理 Node.js 库和应用程序。cnpm 是淘宝团队开发的 npm 的镜像,它解决了 npm 在国内下载速度慢的问题。npx 是 npm@5.2 版本引入的一个命令,它允许你在不安装包的情况下运行包的二进制文件。
yarn 和 pnpm 都是基于 npm 包管理器的变种,它们解决了早期 npm 的一些缺点,例如下载速度慢,不能离线下载等。yarn 默认会生成锁定文件,而 npm 需要通过 shrinkwrap 命令生成 npm-shrinkwrap.json 文件才能记录和更新 packages 版本信息。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
它们都是 node 的包管理工具:
npm 是一个 NodeJS 包管理 和 分发工具,是开源、免费的包管理器,便于下载和分享资源
npx 是 npm5.2 版本新增的一个命令
yarn 是为了解决早期 npm 存在的一些问题:不支持离线模式、树形结构的依赖、依赖安装不确定性等
pnpm 使用了类似于 linux 的【软连接】方式,使得一个模块文件可以在多处复用,解决了 yarn、npm 在多个项目安装同一个依赖时,会下载重复文件的问题,避免磁盘的浪费,同时大大提升下载速度