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

相关推荐
夏梦春蝉几秒前
ES6从入门到精通:Symbol与迭代器
前端·javascript·es6
一个水瓶座程序猿.4 分钟前
ES6数组的`flat()`和`flatMap()`函数用法
前端·ecmascript·es6
袁煦丞20 分钟前
AI直接出答案!Perplexica开源搜索引擎:cpolar内网穿透实验室第534个成功挑战
前端·程序员·远程工作
Hilaku22 分钟前
用“人话”讲明白10个最常用的正则表达式
前端·javascript·正则表达式
木叶丸31 分钟前
跨平台方案该如何选择?
android·前端·ios
LL.。34 分钟前
同步回调和异步回调
开发语言·前端·javascript
网络点点滴38 分钟前
Vue如何处理数据、v-HTML的使用及总结
前端·vue.js·html
运维咖啡吧39 分钟前
周一才上线的网站,单单今天已经超过1000访问了
前端·程序员·ai编程
世界哪有真情42 分钟前
用虚拟IP扩容端口池:解决高并发WebSocket端口耗尽问题
前端·后端·websocket
前端世界43 分钟前
打造一个可维护、可复用的前端权限控制方案(含完整Demo)
前端