npm私有镜像地址设置

使用官方仓库可能遇到如下问题:

  1. 访问缓慢且占用外部带宽
  2. 可能随着官方升级和维护
  3. 可能被删除或更换地址
  4. 私有包不方便存放公开地址
    当官方公共仓库无法满足我们需求时,我们需要部署私有仓库。

“Sonatype Nexus Repository” 通常被称作为Nexus, 是由 Sonatype 出品的目前世界上最流行的仓库管理软件。它在仓库管理方面的地位,和Git在源代码管理的地位是类似的。

部署地址Nexus

见官方文档
https://help.sonatype.com/en/product-information.html

官方镜像地址

1
https://registry.npmjs.org/

查询
npm config get registry

设置
npm config set registry https://registry.npmmirror.com

常用第三方镜像

1
https://registry.npmmirror.com/

常用管理镜像第三方工具

1
$ npm install -g nrm
1
2
3
4
5
6
7
$ nrm ls
* npm ---------- https://registry.npmjs.org/
yarn --------- https://registry.yarnpkg.com/
tencent ------ https://mirrors.cloud.tencent.com/npm/
cnpm --------- https://r.cnpmjs.org/
taobao ------- https://registry.npmmirror.com/
npmMirror ---- https://skimdb.npmjs.com/registry/
1
2
$ nrm use cnpm  //switch registry to cnpm
Registry has been set to: http://r.cnpmjs.org/

全局配置第三方镜像

在 .npmrc 中配置如下:
registry=”https://registry.npmmirror.com

由于yarn的v1版本优先使用.npmrc,所以可以不配置.yarnrc

指定第三方镜像

例如包名:@ytfee/npm-yt-ouid
在 .npmrc 中配置如下:
@ytfee:registry=https://nexus.devops.*.com/repository/npm-*
所有 ytfee 组织都优先使用指定镜像

指定单个包地址

在 package.json 中配置如下:
“@ytfee/npm-yt-ouid”: “https://nexus.devops.*.com/repository/npm-*/@ytfee/npm-yt-ouid/-/npm-yt-ouid-0.0.5.tgz

“@ytfee/npm-yt-ouid”: “https://git.devops.*.com/*-fe/npm-yt-ouid.git

常用.npmrc配置

1
2
3
4
5
6
7
8
# .npmrc
registry="https://registry.npmmirror.com"
@ytfee:registry="https://nexus.devops.*.com/repository/npm-*"
sass_binary_site="https://npmmirror.com/mirrors/node-sass/"
cypress_download_mirror="https://npmmirror.com/mirrors/cypress/"
electron_mirror="https://npmmirror.com/mirrors/electron/"
profiler_binary_host_mirror="https://npmmirror.com/mirrors/node-inspector/"
chromedriver_cdnurl="https://npmmirror.com/mirrors/chromedriver"

参考地址

https://help.sonatype.com/en/product-information.html
https://zhuanlan.zhihu.com/p/544089278
https://github.com/sonatype/nexus-public


npm私有镜像地址设置
http://example.com/20240112-npm私有镜像地址设置/
作者
csorz
发布于
2024年1月12日
许可协议