小白基于Nexus搭建本地npm私服

1,704 阅读2分钟

前言

当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加快起来,事实上这种的确能够让速度变快,但是长久来看,如果想真正的快速敏捷开发部署,搭建企业内部的私服,则会让速度更上一个台阶。

搭建npm私服,我们依旧使用nexus3。

与其他私服一样的,npm私服同样有三种类型:

  • hosted : 本地存储,即同 docker 官方仓库一样提供本地私服功能
  • proxy : 提供代理其他仓库的类型,如 docker 中央仓库
  • group : 组类型,实质作用是组合多个仓库为一个地址

那么就来一个一个创建。

1. 创建blob存储

为npm私服创建一个单独的存储空间。

image.png

2. 创建hosted类型的npm

  • Name: 定义一个名称local-npm
  • Storage:Blob store,我们下拉选择前面创建好的专用blob:npm-hub。
  • Hosted:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

image.png

3. 创建一个proxy类型的npm仓库

  • Name: proxy-npm
  • Proxy:Remote Storage: 远程仓库地址,这里填写: registry.npmjs.org
  • Storage: npm-hub。 其他的均是默认。

整体配置截图如下:

image.png

4. 创建一个group类型的npm仓库

  • Name:group-npm
  • Storage:选择专用的blob存储npm-hub。
  • group : 将左边可选的2个仓库,添加到右边的members下。

整体配置截图如下:

image.png

这些配置完成之后,就可以使用了。

5. 验证使用

获取默认的仓库地址

npm config get registry https://registry.npmjs.org/

配置为私服地址。

从如下截图中查看(其实就是创建的组对外的地址)。

image.png

打开自己的前端项目,通过如下命令配置:

npm config set registry http://192.168.75.11:8081/repository/group-npm/

npm config get registry http://192.168.75.11:8081/repository/group-npm/

现在开始安装,安装之前先看一下组里的内容:

image.png

可以看到还是空的。

npm install

安装完之后刷新仓库,可见如下图:

image.png

里面有内容了。

注意点

1、npm install,报错如下:

image.png

解决办法: 1、检查npm nexus的 Realms设置,把npm Bearer Token Reaim放入Active中,并保存

image.png

2、检查一下Nexus Repository Manager上的Anonymous是否开放

image.png

2、登录npm

npm login

image.png