全局安装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
相关推荐
猫头虎11 小时前
什么是 npm、Yarn、pnpm? 有什么区别? 分别适应什么场景?
前端·python·scrapy·arcgis·npm·beautifulsoup·pip
前端 贾公子2 天前
exports使用 package.json字段控制如何访问你的 npm 包
前端·npm·json
今天也在写bug4 天前
输入npm install后发生了什么
前端·npm·node.js
weixin_541299944 天前
鸿蒙应用开发: 鸿蒙项目中使用私有 npm 插件的完整流程
华为·npm·harmonyos·鸿蒙
popoxf5 天前
在新版本的微信开发者工具中使用npm包
前端·npm·node.js
pe7er6 天前
corepack使用指南
npm
mgx_7186 天前
windows指定某node及npm版本下载
前端·npm·node.js
Korloa6 天前
浅谈npm,cnpm,pnpm,npx,nvm,yarn之间的区别
前端·npm·node.js
Tttian6227 天前
npm init vue@latestnpm error code ETIMEDOUT
前端·vue.js·npm
天若有情6737 天前
Node.js 是什么?npm 是什么? Vue 为什么需要他们?
vue.js·npm·node.js