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 的方式来进行安装。

相关推荐
云水一下5 小时前
TypeScript 从零基础到精通(五):高级类型与泛型
前端·javascript·typescript
counterxing5 小时前
vibe coding 之后,我更不想打字了
前端·agent·ai编程
copyer_xyf5 小时前
Python 模块与包的导入导出
前端·后端·python
研☆香5 小时前
es6新特性功能介绍(四)
前端·ecmascript·es6
微扬嘴角6 小时前
React篇1--JSX语法规则、组件、组件实例的3大特性
前端·react.js·前端框架
copyer_xyf6 小时前
Python venv 虚拟环境
前端·后端·python
无聊的老谢6 小时前
Vue 3 + TypeScript 构建大型电信运维平台的前端架构设计
前端·vue.js·typescript
xiaofeichaichai6 小时前
Map / Set / WeakMap / WeakSet
前端·javascript
李可以量化6 小时前
成交量的终极量化策略:价量共振指标完整实现(下篇)
前端·数据库·人工智能
copyer_xyf7 小时前
Python 如何同时做很多事:进程、线程、协程
前端·后端·python