nexus2搭建npm私服

nexus2搭建npm私服

nexus2 在win10的安装配置

参考 https://www.cnblogs.com/wkrbky/p/6357901.html

创建proxy仓库(代理仓库: 当从本地查找不到时,就从代理仓库设置的仓库去找)

proxy仓库的目的是对npm源进行代理,npm包经过代理之后,只要下载一次,以后就可以在nuxus使用,大大增加下载速度。

1、选择菜单Respositories->Add->Proxy respository

image.png

2、填写属性


image.png

分别填写

  • (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

image.png

2、填写属性

image.png

分别填写

  • (1) npm-internal
  • (2) npm-internal
  • (3) npm

创建仓库组(包含以上两个仓库)

仓库组的目的是组合上面创建的仓库。

1、选择菜单Respositories->Add->Respository Group


image.png

2、填写属性

image.png

分别填写

  • (1) npm-all
  • (2) npm-all
  • (3) npm
  • (4) 全选并点击中间的箭头加入到左边的列表

最后结果

image.png

修改配置

修改.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这个包

image.png

到这里,能下载的私服架设完毕,那么还需要配置上传。

修改上传配置

把这段代码直接粘贴到.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


image.png

没有出现异常表示发布成功

查看npm-internal发布仓库:

image.png

发现已经上传了

Nexus权限管理与调度任务: 参考:https://blog.csdn.net/crave_shy/article/details/41015355
Nexus为项目分配独立的仓库

避免各个项目上传到同一仓库发生冲突干扰、可以为每个项目创建独立的仓库、每个项目所拥有的仓库只有其项目组成员才能对此仓库进行部署、修改和删除权限、其他用户只能读取、下载、和搜索该仓库内容。

    四步实现:1、创建项目独立仓库。2、为仓库建立权限。3、创建包含上述权限的角色。4、创建用户、指定用户拥有上面的角色。以创建Andy Release仓库为例、具体如下:

1、创建Andy Release仓库

前面提到过、不再重复

    2、为仓库建立权限
image.png
    3、创建角色
image.png
    4、创建用户
image.png
    最后要做的就是在项目中指定特定的部署仓库、并在settings.xml配置fooRelease仓库的认证信息、也就是上面第四部用户的帐号密码。

同时在仓库组也可以发现这个包,说明可以使用。

npmjs 仓库只存第一次通过代理仓库下载的插件
npm-internal 只存本地上传的插件
npm-all 包含以上两个所有的插件

至此,nexus2的npm私服架设完毕。

你可能感兴趣的:(nexus2搭建npm私服)