node的其他包

简介: pnpm是一种新起的包管理器,从npm的下载量看,目前还没有超过yarn,但它的实现方式值得主流包管理器学习,某些开发者极力推荐使用pnpm

cnpm


官网地址https://npm.taobao.org/

为解决国内用户连接npm registry缓慢的问题,淘宝搭建了自己的registry,即淘宝npm镜像源


过去,npm没有提供修改registry的功能,因此,淘宝提供了一个CLI工具即cnpm,它支持除了npm publish以外的所有命令,只不过连接的是淘宝镜像源


如今,npm已经支持修改registry了,可能cnpm唯一的作用就是和npm共存,即如果要使用官方源,则使用npm,如果使用淘宝源,则使用cnpm


nvm


nvm并非包管理器,它是用于管理多个node版本的工具


在实际的开发中,可能会出现多个项目分别使用的是不同的node版本,在这种场景下,管理不同的node版本就显得尤为重要


nvm就是用于切换版本的一个工具


下载和安装


最新版下载地址:https://github.com/coreybutler/nvm-windows/releases

下载nvm-setup.zip后,直接安装


使用nvm


nvm提供了CLI工具,用于管理node版本


在终端中输入nvm,以查看各种可用命令


为了加快下载速度,建议设置淘宝镜像

node淘宝镜像:https://npm.taobao.org/mirrors/node/

npm淘宝镜像:https://npm.taobao.org/mirrors/npm/


pnpm


pnpm是一种新起的包管理器,从npm的下载量看,目前还没有超过yarn,但它的实现方式值得主流包管理器学习,某些开发者极力推荐使用pnpm


从结果上来看,它具有以下优势:


1.目前,安装效率高于npm和yarn的最新版

2.极其简洁的node_modules目录

3.避免了开发时使用间接依赖的问题

4.能极大的降低磁盘空间的占用


安装和使用


全局安装pnpm


npm install -g pnpm


之后在使用时,只需要把npm替换为pnpm即可


如果要执行安装在本地的CLI,可以使用pnpx,它和 npx 的功能完全一样,唯一不同的是,在使用pnpx执行一个需要安装的命令时,会使用pnpm进行安装


比如npx mocha执行本地的mocha命令时,如果mocha没有安装,则npx会自动的、临时的安装mocha,安装好后,自动运行mocha命令


pnpm原理


1.同 yarn 和 npm 一样,pnpm 仍然使用缓存来保存已经安装过的包,以及使用 pnpm-lock.yaml 来记录详细的依赖版本


2.不同于 yarn 和 npm, pnpm 使用符号链接和硬链接(可将它们想象成快捷方式)的做法来放置依赖,从而规避了从缓存中拷贝文件的时间,使得安装和卸载的速度更快


3.由于使用了符号链接和硬链接,pnpm可以规避windows操作系统路径过长的问题,因此,它选择使用树形的依赖结果,有着几乎完美的依赖管理。也因为如此,项目中只能使用直接依赖,而不能使用间接依赖


注意事项


由于 pnpm 会改动 node_modules 目录结构,使得每个包只能使用直接依赖,而不能使用间接依赖,因此,如果使用 pnpm 安装的包中包含间接依赖,则会出现问题(现在不会了,除非使用了绝对路径)


由于 pnpm 超高的安装卸载效率,越来越多的包开始修正之前的间接依赖代码


来源:渡一教育

相关文章
|
5月前
|
JavaScript Linux 数据安全/隐私保护
node内网安装npm私服以及依赖包上传发布verdaccio
node内网安装npm私服以及依赖包上传发布verdaccio
369 1
|
5月前
|
JavaScript
Nodejs 第七章(发布npm包)
Nodejs 第七章(发布npm包)
56 0
|
10月前
|
JavaScript 小程序 前端开发
nodejs管理包工具nvm的安装与基本使用
有好的建议,请在下方输入你的评论。 欢迎访问个人博客 guanchao.site 欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”
105 1
|
JavaScript 程序员 API
Node.js----npm与包
Node.js----npm与包
|
存储 缓存 资源调度
[Node] Node.js 包管理工具详解npm yarn cnpm npx pnpm
[Node] Node.js 包管理工具详解npm yarn cnpm npx pnpm
|
缓存 JSON JavaScript
Node——fs,path,http,npm与包
Node——fs,path,http,npm与包
|
JavaScript
Node.js学习笔记----发布包
Node.js学习笔记----发布包
|
JavaScript
Node.js学习笔记----npm与包
Node.js学习笔记----npm与包
下载node-gyp依赖包报错:gyp ERR! find VS msvs_version not set from command line or npm config
就是有一点需要注意,我这里安装vs的时候,可用里面没有vs社区版2017,只有2022,只能安装了2022
|
存储 前端开发 JavaScript
前端工程化的Node.js之代码的组织/部署的包 package
在现代的Web开发中,前端工程化已经成为了不可或缺的一部分。而Node.js作为JavaScript的运行环境,为前端工程化提供了很多强大的工具和支持。其中,代码的组织和部署是前端工程化中非常重要的一部分,而Node.js的包管理系统npm就是解决这个问题的利器。今天我们就来探讨一下如何使用npm来进行代码的组织和部署。
91 0