0.前言
- 运行环境: java 8 以上。
- 详细说明请查看官方说明文档。
1.下载Nexus Repository Manager 包
下载链接:https://www.sonatype.com/download-nexus-repository-trial
点击链接,在页面中选择版本unix,然后下载3.x版本。
2.解压压缩包、启动服务
- 进入相关文件夹
cd nexus3
- 进入bin目录
cd nexus-3.12.0-01/bin
- 启动服务
./nexus start
- 服务默认占用端口8081
3.登录
- 打开链接http://xxxxxxx:8081,点击右上角sign In
- 默认账号
admin
,默认密码admin123
4.新建仓库
- 点击设置图标,选中
Repositories
- 1.创建私库。点击
Create repository
,选择npm(hosted)
类型,这个是存放私服包的库,这里起名为rupiahone-hosted
, 然后点击下面的Create repository
即可。 - 2.创建代理库。
- 点击
Create repository
,选择npm(proxy)
,这里名称为rupiahone-proxy
。 - 在
Remote storage
填入代理源,这里填入的是npm官方的地址https://registry.npmjs.org
。如果你有需要,也可以填入淘宝镜像地址https://registry.npm.taobao.org
。 - 点击下面的
Create repository
即可。
- 点击
- 3.创建仓库组。
- 点击
Create repository
,选择npm(group)
,这里名称为rupiahone-group
。 - 在下面
Group
的视图中,将上面步骤创建的两个仓库添加到右边。
- 点击
5.权限认证设置
在设置界面,点击Security
下的Realms
,将npm Bearer Token Realm
添加到右边,然后保存。
(这一步非常重要,否则publish 包到私服的时候会报没有权限的错误)
6.publish模块到私服
- 新建一个示例项目
1 | mkdir test_npm && cd test_npm |
npm init
- 编写代码 略 …
登录到私服
执行以下命令
1
npm login --registry=http://localhost:8081/repository/rupiahone-hosted/
(切记,这里registry必须是hosted类型的库)
- 输入账号密码(默认账号
admin
,密码admin123
,邮箱随便填) 正常的话会提示登录成功的信息。如果你登录失败,得到以下错误:
1
Registry returned 404 for PUT on http://localhost:8081/repository/npm-internal/-/user/org.couchdb.user:admin
解决办法:刷新nexus repostory manger 后台,然后重新npm login。
发布模块。
- 执行命令(切记,这里registry必须是hosted类型的库)
1
npm publish --registry=http://localhost:8081/repository/rupiahone-hosted/
- 执行命令(切记,这里registry必须是hosted类型的库)
查看已发布模块。
在页面
http://localhost:8081/#browse/browse
中,选中你的hosted
库,就可以看到你发布的模块了。私有包的依赖包会存放在group
库中。
7.安装私服模块。
安装就简单多了,只要执行以下命令即可:
1 | npm install xxx --registry=http://localhost:8081/repository/rupiahone-group/` |
(注意:xxx为包名,安装时的registry必须是group类型的库)