最近因为工作需要,在公司需要架设npm私服,满足团队组件化开发需求。公司已经架设了nexus2,然而找遍了百度,都是用nexus 3来架设npm私服,而没有一篇文章是介绍nexus 2的,遂有了这篇文章。
创建各个仓库
创建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包到私服。
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、修改系统用户目录的.npmrc文件
registry=http://192.168.1.238:8089/nexus/content/groups/npm-all/
注意替换成自己的nuxus地址
2、测试有没有生效
创建一个测试的npm项目
cd ~
mkdir npmtest
cd npmtest
npm init
一路回车
npm install vuex
成功的话应该看到刚才的npm-all这个仓库下多了vuex这个包
到这里,能下载的私服架设完毕,那么还需要配置上传。
修改上传配置
把这段代码直接粘贴到.npmrc文件中
init.author.name = Jane Doe
init.author.email = jane@example.com
init.author.url = http://blog.example.com
# an email is required to publish npm packages
email=jane@example.com
always-auth=true
_auth=YWRtaW46YWRtaW4xMjM=
试一下刚才包发布:
npm publish --registry http://192.168.1.238:8089/nexus/content/repositories/npm-internal/
注意改成自己的url
没有出现异常表示发布成功
查看npm-internal发布仓库:
发现已经上传了
同时在仓库组也可以发现这个包,说明可以使用。
至此,nexus2的npm私服架设完毕。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。