npm源管理工具:nrm的基础使用

nrm是什么

nrmNPM registry manager)是 npm镜像源 管理工具,使用它可以快速切换 npm 的源。

npm 默认情况下是使用npm官方源(https://registry.npmjs.org/),属于国外的网址,国内使用这个源下载东西特别慢,一般我们都会用淘宝的npm源(https://registry.npm.taobao.org

淘宝 npm 的镜像网站

  • 查看当前npm源:npm config ls

  • 切换npm源:
    npm set registry https://registry.npm.taobao.org/ 但是注意! 这个源已经到期,不能用了!

目前需要使用最新npm源: https://registry.npmmirror.com

淘宝命令工具 cnpm 使用(不推荐)

npm安装cnpm:npm install -g cnpm --registry=https://registry.npmmirror.comcnpm

查看cnpm是否安装成功: cnpm -v

为什么不推荐使用cnpm?

go 复制代码
使用 `npm` 作为前端项目包管理工具的话,通常我们前端项目中都会有 `package-lock.json` 文件。
使用 `npm` 和 `cnpm` 来安装依赖包是有区别的,这两个命令对其有一定的影响:

> -   `cnpm i`不受 `package-lock.json` 影响,只会根据 `package.json` 进行下载安装。
> -   `cnpm i xxx@xxx`不会更新到 `package-lock.json` 中去。
> -   `npm i xxx@xxx` 会更新到 `package-lock.json` 中去。

在多人协作维护的项目中,`package-lock.json` 是必不可少的。是为了确保不同开发者安装的包及其依赖保持一致,同时也是降低不同版本 npm 包给项目稳定性带来的影响。尤其是一些不遵循[语义化版本控制](https://www.jianshu.com/p/69a98fd20c83)的第三方 npm 包,就很容易被坑。

nrm安装

全局安装nrm,终端输入: npm install -g nrm

  • 安装nrm失败:

    如果使用npm安装nrm失败或长时间没反应,注意先查看当前npm源是什么 npm config ls,我这里安装失败是因为当前npm的源还是旧的 https://registry.npm.taobao.org

    切换最新npm源: npm config set registry https://registry.npmmirror.com

    查看是否成功:npm config get registry

  • 重新安装nrm安装成功:

nrm使用

  • 查看所有源 nrm ls

    其中带*号的是当前使用的源,上图表明当前源为 taobao

    或者直接使用nrm current命令,也可以查看当前源:

  • 使用源 nrm use taobao

  • 添加源 nrm add <registry源名称> <url源地址>

  • 删除源 nrm del <registry>

  • 测试源响应时间 nrm test <registry>

注意切换源之后 ,我们安装依赖时仍使用 npm i xxx 的方式来进行安装。

相关推荐
爱分享的鱼鱼几秒前
Element Plus 日期选择器(DatePicker)深度解析:从基础用法到高级定制
前端
evle17 分钟前
从 Recoil 的兴衰看前端状态管理的技术选型
前端·react.js
恋猫de小郭39 分钟前
Flutter 2026 Roadmap 发布,未来计划是什么?
android·前端·flutter
时清云1 小时前
2025-年终总结
前端
Esaka_Forever1 小时前
Promise resolve 的基础用法
前端·javascript
a1117761 小时前
卡通风格 UI 组件库html (TRIZ UI Kit [特殊字符])
前端·ui·html
鳄鱼杆1 小时前
虚拟机 | 如何通过域名访问虚拟机中的Web服务?
前端
We་ct2 小时前
LeetCode 236. 二叉树的最近公共祖先:两种解法详解(递归+迭代)
前端·数据结构·算法·leetcode·typescript
用泥种荷花2 小时前
【LangChain.js学习】 提示词模板
前端
认真的薛薛2 小时前
2-监控:elk采集各种日志并出图
前端·chrome·elk