目录
目录
2.1、 访问:http://localhost:8081/
2.2、新增maven仓库(aliyun代理仓库,wtx私有库,步骤如下)
1.下载nexus
1、下载nexusNexus3 官网下载地址 可能需要翻墙,
2、离线安装点此下载
1.1.安装
创建文件夹
[root@node1 home]# mkdir /usr/local/nexus
解压
[root@node1 home]# tar -zxf nexus-3.47.0-01-unix.tar.gz -C /usr/local/nexus
解压后的文件夹包括:
[root@node1 home]# cd /usr/local/nexus/ [root@node1 nexus]# ls nexus-3.47.0-01 sonatype-work
nexus-3.47.0-01
:程序的安装执行文件
sonatype-work
:数据存储、缓存等文件
1.2.可选 修改Nexus 服务端口号 默认8081
可修改nexus配置,默认端口8081
[root@node1 nexus-3.47.0-01]# vim /usr/local/nexus/nexus-3.47.0-01/etc/nexus-default.properties ## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties ## # Jetty section application-port=8081 application-host=0.0.0.0 #填写本机ip nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml nexus-context-path=/ # Nexus section nexus-edition=nexus-pro-edition nexus-features=\ nexus-pro-feature nexus.hazelcast.discovery.isEnabled=true
1.3. 启动Nexus
进入文件夹
[root@node1 nexus-3.47.0-01]# cd /usr/local/nexus
执行命令启动
# 后台启动 可以通过nohup 启动指定日志文件 这里就用默认的nohup.out的日志文件了 [root@node1 nexus-3.47.0-01]# nohup ./nexus-3.47.0-01/bin/nexus run &
访问:http://localhost:8081/
查看密码(用户名 admin、密码在sonatype-work目录下)[root@node1 sonatype-work]# vim nexus3/admin.password 206cab5e-1930-4623-8461-58f926581ee9
2.使用教程(maven)
2.1、 访问:http://localhost:8081/
登录(用户名 admin、密码在sonatype-work目录下)
查看设置
查看仓库
2.2、新增maven仓库(aliyun代理仓库,wtx私有库,步骤如下)
1.创建代理库
- proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找
- hosted:你可以上传你自己的项目到这里面
- group:它可以包含前面两个,是一个聚合体。一般用来给客户一个访问nexus的统一地址。
2、填写名字,和代理url,然后保存
3、私有库创建
4、填写名称,保存
如此:代理库和私有库都创建好了
2.3、新建角色和用户
新增角色
新增用户
填写信息,选择角色
2.4、上传jar到私服
2.使用教程(npm)
1、创建一个文件存储位置
2、创建npm的group,hosted,proxy
3、上传插件到npm仓库
举例ts组件
0、创建src文件夹用于存储源文件,创建test文件夹用于存储测试源文件
1、准备package.json文件(用来发布npm包,可以使用npm init 命令生成)
{ "name": "my-ts-plugin", "version": "1.0.0", "description": "ts_js基础包", "main": "dist/index.js", "module": "dist/index.js", "types": "dist/index.d.ts", "scripts": { "build": "npm run clean && tsc -p tsconfig.json", "clean": "rimraf ./dist", "test": "cross-env TS_NODE_PROJECT=\"tsconfig.test.json\" mocha --require ts-node/register test/**/*.*.ts" }, "repository": { "type": "git", "url": "http://192.168.168.134:8081/repository/wtx-npm/" }, "files": [ "dist" ], "author": "wtx", "license": "ISC", "dependencies": { "typescript": "^4.9.5" }, "devDependencies": { "@types/chai": "^4.2.12", "@types/mocha": "^8.0.0", "chai": "^4.3.4", "mocha": "^9.1.3", "rimraf": "^3.0.1", "ts-node": "^10.4.0", "cross-env": "^7.0.3" } }
2、准备typescript的编译设置文件tsconfig.json
{ "compilerOptions": { //输出文件 "outDir": "dist", //格式 "module": "ES6", // 编译后符合什么es版本 "target": "es5", "noImplicitAny": true, "removeComments": false, "preserveConstEnums": true, "sourceMap": false, // 为每个ts文件 生成一个对应的 .d.ts 文件; 获得 ts 提示 "declaration": true, "lib":["es5", "dom", "dom.iterable", "es2015", "es2016", "es2017"] }, "include": [ "src" ], "exclude": [ "test/**/*.test.tsx", ] }
3、准备测试文件tsconfig.test.json
{ "compilerOptions": { "outDir": "dist", "module": "commonjs", // 就是这个, 运行单元测试的时候 要改成 commonjs 不然会报错 // 编译后符合什么es版本 "target": "es5", // 为每个ts文件 生成一个对应的 .d.ts 文件; 获得 ts 提示 "declaration": true, "downlevelIteration": true, "noImplicitAny": true, "lib":["es5", "dom", "dom.iterable", "es2015", "es2016", "es2017"], }, "include": [ "src" ], "exclude": [ "src/**/*.test.tsx", ] }
4、完整目录
5、编译(也可以使用tsc)
6、
- 登录 (npm login --registry=http://192.168.168.134:8081/repository/wtx-npm/)
- 上传(npm publish --registry=http://192.168.168.134:8081/repository/wtx-npm/)
7、拉取
8、 使用
9、异常
1、故障描述:npm publish报错:“Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager””
执行:
npm adduser --registry=http://192.168.168.134:8081/repository/wtx-npm/
2、故障描述:nexus上传包时总是:Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager