全局安装cnpm并设置其使用淘宝镜像的仓库地址(地址最新版)

npm、cnpm和pnpm基本概念

首先介绍一下npm和cnpm是什么,顺便说一下pnpm。

npm

npm(Node Package Manager)是Node.js的默认包管理器,用于安装、管理和分享JavaScript代码包。它是全球最大的开源库生态系统之一,提供了数百万个包供开发人员使用。npm的特点包括包管理、版本控制、发布与共享以及执行自定义脚本等。

cnpm

cnpm(China Node Package Manager)是npm的一个镜像版本,由淘宝团队提供。它主要用于加速在中国大陆地区的包下载速度,因为它使用国内的镜像服务器来存储和分发npm包。cnpm的使用与npm非常相似,开发者可以通过简单地将npm命令替换为cnpm命令来使用它。cnpm的安装通常涉及全局安装cnpm并设置其使用淘宝镜像的仓库地址。

pnpm

pnpm(performant npm)是一个注重性能的包管理器,它通过使用硬链接和符号链接来避免重复安装依赖包,从而节省磁盘空间并提高安装效率。pnpm还支持创建非扁平的node_modules目录结构,适用于monorepo(单一代码仓库)开发模式。它的设计理念是在项目间共享相同版本的依赖包,减少冗余存储,并提供了更快的安装速度。

总结来说,npm是最广泛使用的Node.js包管理器,pnpm提供了更高效的依赖管理和安装体验,尤其适合大型项目和monorepo结构,而cnpm是针对中国用户优化的npm镜像,用于提高下载速度。

本文主要简单说明cnpm的安装和使用(为了提高下载速度)

npm配置淘宝镜像源

为什么不是cnpm配置淘宝镜像源,淘宝镜像源相当于电商购物的本地仓库,npm是运输工具,cnpm是高速运输工具,npm也可以设置淘宝镜像源,所以先说一下这个操作。

设置淘宝镜像源

复制代码
npm config set registry https://registry.npmmirror.com

注意:原域名https://registry.npm.taobao.org/ 在 2022.06.30 号正式下线和停止 DNS 解析

查看镜像使用状态

复制代码
npm config get registry

图片说明配置的是淘宝镜像。

恢复官方镜像源

复制代码
npm config set registry https://registry.npmjs.org

安装cnpm并配置淘宝镜像源

安装cnpm并配置淘宝镜像

复制代码
 npm install -g cnpm --registry=https://registry.npmmirror.com

实际操作中我就到此为止了,下面的没有继续设置了,没有出现问题。

为了防止缓存导致的问题可以进行如下操作。

复制代码
 # 注册模块镜像(提高下载速度)
 npm set registry https://registry.npmmirror.com  

 // node-gyp 编译依赖的 node 源码镜像  
 npm set disturl https://npmmirror.com/dist 

 // 清空缓存  (清除所有缓存,避免潜在的缓存问题)
 npm cache clean --force  

 // 强调配置镜像源后重新安装以确保cnpm使用正确的镜像源 
npm install -g cnpm --registry=https://registry.npmmirror.com  

最后可以使用cnpm install xxx来快速安装node包。

自动化打包构建常见包配置地址

复制代码
# mirror config
sharp_binary_host = https://npmmirror.com/mirrors/sharp
sharp_libvips_binary_host = https://npmmirror.com/mirrors/sharp-libvips
profiler_binary_host_mirror = https://npmmirror.com/mirrors/node-inspector/
fse_binary_host_mirror = https://npmmirror.com/mirrors/fsevents
node_sqlite3_binary_host_mirror = https://npmmirror.com/mirrors
sqlite3_binary_host_mirror = https://npmmirror.com/mirrors
sqlite3_binary_site = https://npmmirror.com/mirrors/sqlite3
sass_binary_site = https://npmmirror.com/mirrors/node-sass
electron_mirror = https://npmmirror.com/mirrors/electron/
puppeteer_download_host = https://npmmirror.com/mirrors
chromedriver_cdnurl = https://npmmirror.com/mirrors/chromedriver
operadriver_cdnurl = https://npmmirror.com/mirrors/operadriver
phantomjs_cdnurl = https://npmmirror.com/mirrors/phantomjs
python_mirror = https://npmmirror.com/mirrors/python
registry = https://registry.npmmirror.com
disturl = https://npmmirror.com/dist
相关推荐
加载中3613 小时前
pnpm时代包版本不一致问题还是否存在
前端·面试·npm
徐_三岁1 天前
关于npm的钩子函数
前端·npm·node.js
不买Huracan不改名1 天前
安装Codex(需要用npm)
前端·npm·node.js
醉方休2 天前
npm/pnpm软链接的优点和使用场景
前端·npm·node.js
醉方休2 天前
PNPM库离线安装方案
npm
FreeBuf_2 天前
加密货币武器化:恶意npm包利用以太坊智能合约实现隐蔽通信
前端·npm·智能合约
不知名raver(学python版)3 天前
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
前端·npm·node.js
惜.己3 天前
针对nvm不能导致npm和node生效的解决办法
前端·npm·node.js
fruge4 天前
钉钉机器人消息发送 npm 库:ddmessage-fruge365
机器人·npm·钉钉
艾小码4 天前
只会npm install?这5个隐藏技巧让你效率翻倍!
前端·npm·node.js