文章目录
  1. 1. nexus代理npm私服问题记录
    1. 1.0.1. 权限码生成方式:

nexus代理npm私服问题记录

因公司要求所有项目的代码依赖必须走公司内网的私服,编译构建必须在jenkins上进行,而jenkins上的编译机器是不通外网的,而需要走nexus的代理服务器,开通了什么代理,就找安全部门将相关地址开通外网访问白名单。

先列出我遇到的一系列问题:

  1. nexues镜像地址外网不通问题
  2. nodejs项目构建时未指定新的仓库地址
  3. node_sass依赖构件无法从代理镜像下载问题
  4. node_sass代理镜像配置问题
  5. node_sass代理地址权限问题
  6. nexus代理镜像请求转发cdn问题

解决方案:

  1. 写邮件向安全审批并找sre开通外网白名单
  2. 需要在.npmrc文件中设置:

或者在执行代码编译时,加入如下代码:

注意,使用第二种方式也必须在.npmrc文件中将_auth加上,否则会导致node_sass无法下载

  1. node_sass依赖构件无法从代理镜像下载问题(3和6本质上是一个问题)

总是出现如下报错:

这个地方搞了我很久,差不多搞了我一天,后面还尝试手动上传包到nexus,但是也失败了,好像后台报什么id不存在,貌似是无法手动上传,最终还是往镜像下载的方向去看,最后看了nexues后台报错日志:

image-20200812111656669

这个就是6的问题。

没办法,只能向安全部门申请外网访问白名单。

端口开通以后,再试一遍,终于构建成功了:

image-20200812112342546

到nexus上看看包下载下来没有:

image-20200812111853259

很明显,已经下载到库里了。

  1. 代理镜像配置问题,是个小坑

我代理的是github的npm第三方库,用的是taobao的镜像作代理,地址是:https://npm.taobao.org/mirrors/node-sass/

我厂用的nexus版本是:OSS 3.22.1-02

配置的node_sass的代理文件类型必须raw:

image-20200812112901514

proxy地址必须是:https://npm.taobao.org/mirrors/node-sass

image-20200812112940989

  1. node_sass代理地址权限问题,npm install 的时候返回如下:

image-20200812135309568

在npm install 之前,还必须将_auth的权限码放到.npmrc文件中。

权限码生成方式:

或者使用命令:npm addUser

这种方式虽然简单,但是可能会暴露密码,如果你不想把密码给编译团队,就给权限码就行了。

参考地址1

参考地址2

参考地址3

参考地址4

参考地址5

文章目录
  1. 1. nexus代理npm私服问题记录
    1. 1.0.1. 权限码生成方式: