IMLC.ME

群晖如何搭建私有 npm 仓库

本文演示了如何利用群晖 NAS 搭建私有的 npm 仓库。

1. 配置国内镜像仓库 (可选)

由于众所周知的原因,你可能没法顺利拉去 Docker 镜像。 群晖无法直接指定国内镜像仓库的地址,需要单独配置镜像仓库。

打开群晖 Docker 应用的注册表页,点击设置,新增。 这里以网易的镜像仓库为例,输入名称和仓库地址 https://hub-mirror.c.163.com。然后确认。

Preview

回到注册表设置页,选中163的仓库,点击使用

Preview

然后,群晖会提示“注册表回传错误结果。”,直接忽视。

2. 拉取 Nexus 镜像

打开群晖的 Docker 应用,切换到映像页,点击新增。

输入 Nexus 的 DockerHub 地址 https://hub.docker.com/r/sonatype/nexus3。 (注意,即使你配置了镜像仓库地址,这里也需要填 DockerHub 的页面地址)

点击新增。群晖会在后台拉取镜像。

3. 启动 Nexus 容器

等群晖拉取完镜像,直接双击Nexus镜像打开创建容器提示框。

Preview

个人非常建议你配置固定的本地端口,不然群晖每次重启都会重新申请一个随机端口,这样你的开发环境都要重新配置一遍。

没有其他需要配置的,直接应用,下一步,完成。

稍等个5分钟左右(由于群晖性能确实拉跨),你就可以在通过群晖的 ip 加 18081 端口访问 Nexus 页面.

4. 登录 Nexus

点击页面右上方的 Sign in 按钮登录,页面会提示你初始账号为 admin,初始密码储存在 /nexus-data/admin.password 里。

为了获取密码,我们需要回到群晖的 Docker 应用。 再次双击 Nexus 容器,切换到终端机页,点击新增。群晖会默认创建一个新的 bash 终端窗口。
输入cat /nexus-data/admin.password 然后回车。命令会输出 admin.password 文件记录的初始密码。

Preview

回到 Nexus 网页,完成登录

顺便按照提示把匿名使用权限打开。毕竟是内网使用,毕竟只是镜像仓库。怎么方便怎么来吧。

5. 添加 npm 私有仓库

点击顶栏的齿轮按钮打开管理页
点击左侧菜单的 Repository
点击 Create repository

Preview

然后选择 npm(proxy) 仓库。

Preview

创建仓库时,只有名称和仓库地址是必填的。
名称请君随意。
仓库地址可以填官方地址https://registry.npmjs.org,又或者填淘宝的 npm 镜像站地址 https://registry.npmmirror.com

直接点击完成,就可以在页面上看到镜像仓库的访问地址了。

Preview

5. 开发环境配置镜像仓库地址
yarn config set registry http://<nas ip>:18081/repository/npmmirror/
npm config set registry http://<nas ip>:18081/repository/npmmirror/

大功告成。