nexus2搭建npm私服
nexus2 在win10的安装配置
参考 https://www.cnblogs.com/wkrbky/p/6357901.html
创建proxy仓库(代理仓库: 当从本地查找不到时,就从代理仓库设置的仓库去找)
proxy仓库的目的是对npm源进行代理,npm包经过代理之后,只要下载一次,以后就可以在nuxus使用,大大增加下载速度。
1、选择菜单Respositories->Add->Proxy respository
2、填写属性
分别填写
- (1) npmjs
- (2) npmjs registry
- (3) npm
- (4) https://registry.npmjs.org
- (5) Ignore
当然(4)这个地方在国内可以填写https://registry.npm.taobao.org
创建私有npm仓库(自己开发的npm插件 可上传到此仓库)
私有npm仓库的目的是可以上传npm包到私服。
1、选择菜单Respositories->Add->Hosted respository
2、填写属性
分别填写
- (1) npm-internal
- (2) npm-internal
- (3) npm
创建仓库组(包含以上两个仓库)
仓库组的目的是组合上面创建的仓库。
1、选择菜单Respositories->Add->Respository Group
2、填写属性
分别填写
- (1) npm-all
- (2) npm-all
- (3) npm
- (4) 全选并点击中间的箭头加入到左边的列表
最后结果
修改配置
修改.npmrc
1、修改npm registry
npm config set registry=http://127.0.0.1:8081/nexus/content/groups/npm-all/
注意替换成自己的nexus地址
2、测试有没有生效
创建一个测试的npm项目
cd ~
mkdir npmtest
cd npmtest
npm init
一路回车
npm install vuex
成功的话应该看到刚才的npm-all这个仓库下多了vuex这个包
到这里,能下载的私服架设完毕,那么还需要配置上传。
修改上传配置
把这段代码直接粘贴到.npmrc文件中
命令提示符输入 npm config edit即可打开
[email protected]
always-auth=true
_auth=YWRtaW46YWRtaW4xMjM=
_auth 的值
在任意目录下创建一个in.txt文件,里面直接写nexus访问的用户名:密码。
如:admin:admin123
不要有空行或空格等其他信息。
在in.txt目录下命令行执行
certutil /encode in.txt out.txt
执行后会在当前目录生成out.txt文件,内容是
—–BEGIN CERTIFICATE—–
YWRtaW46YWRtaW4xMjM=
—–END CERTIFICATE—–
第二行即为编码证书,把这串证书信息及你的邮箱信息添加到 .npmrc中:
_auth=YWRtaW46YWRtaW4xMjM=
试一下刚才包发布:
npm publish --registry http://127.0.0.1:8081/nexus/content/repositories/npm-ernal/
注意改成自己的url
没有出现异常表示发布成功
查看npm-internal发布仓库:
发现已经上传了
Nexus权限管理与调度任务: 参考:https://blog.csdn.net/crave_shy/article/details/41015355
Nexus为项目分配独立的仓库
避免各个项目上传到同一仓库发生冲突干扰、可以为每个项目创建独立的仓库、每个项目所拥有的仓库只有其项目组成员才能对此仓库进行部署、修改和删除权限、其他用户只能读取、下载、和搜索该仓库内容。
四步实现:1、创建项目独立仓库。2、为仓库建立权限。3、创建包含上述权限的角色。4、创建用户、指定用户拥有上面的角色。以创建Andy Release仓库为例、具体如下:
1、创建Andy Release仓库
前面提到过、不再重复
2、为仓库建立权限
3、创建角色
4、创建用户
最后要做的就是在项目中指定特定的部署仓库、并在settings.xml配置fooRelease仓库的认证信息、也就是上面第四部用户的帐号密码。
同时在仓库组也可以发现这个包,说明可以使用。
npmjs 仓库只存第一次通过代理仓库下载的插件
npm-internal 只存本地上传的插件
npm-all 包含以上两个所有的插件
至此,nexus2的npm私服架设完毕。