nexus 管理npm包
创建仓库

hosted改成allow redeploy,这样才能运行重复上传一个包,不然会报400:bad request
roxy的remote storage设置:当私有仓库和代理仓库缓存包里无请求的包时,就会通过这里配置的地址去服务器下载需要的包,然后再缓存下来。填的是淘宝镜像:https://registry.npm.taobo.org。npm官网的下载有点慢.
name: npm-group,是仓库组的名称。可以包含任何npm的仓库。最终npm install等操作时的地址将会是这个仓库组的地址。
group中,将刚创建的私有仓库(npm-hosted)和代理仓库(npm-proxy)拖动到右边。有先后顺序的, 从第一个往后请求.
上传npm包
添加npm用户, 全局配置
npm adduser --registry=http://192.168.1.51:8081/repository/npm-ltdw/ --scope=@ltdwnpm添加完成后 其实就是在
~/.npmrc添加一条记录1 1
2
3
4
5
6registry=https://registry.npmmirror.com/
home=https://npmmirror.com
electron_mirror=https://npmmirror.com/mirrors/electron/
//192.168.1.51:8081/repository/npm-ltdw/:_authToken=NpmToken.283c2660-f0df-3d0c-b0b7-3adff75d814d
@ltdwnpm:registry=http://192.168.1.51:8081/repository/npm-ltdw/
<mark> email=zps_sheng@163.com</mark> 加
--scope的原因是限定推送和拉取的作用域, 不影响registry的正常拉取.
推送npm包
npm publishpackage.json 里面的名称必须带上作用域
@ltdwnpm1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31{
"name": "@ltdwnpm/my-utils",
"version": "1.0.0",
"description": "A TypeScript utility library for Vue 2 & Vue 3",
"main": "dist/my-utils.cjs.js",
"module": "dist/my-utils.es.js",
"types": "dist/index.d.ts",
"exports": {
"require": "./dist/my-utils.cjs.js",
"import": "./dist/my-utils.es.js"
},
"scripts": {
"build": "vite build"
},
"publishConfig": {
"registry": "http://192.168.1.51:8081/repository/npm-ltdw/"
},
"keywords": [
"typescript",
"vue",
"utils",
"websocket",
"json"
],
"author": "Your Name",
"license": "MIT",
"devDependencies": {
"typescript": "^5.3.0",
"vite": "^5.0.0"
}
}上传完成后在nexus页面可以查看到

下载使用
如果是自己写的库,有两种方式: 本地安装和通过nexus安装.
本地安装
找到库的绝对路径进行安装
pnpm add /Users/zhaopeisheng/Documents/地算/code/tslib, 当前的库必须得有dist文件夹.nexus安装
因为之前配置过用户, 没有的必须配置 npm adduser –registry=http://192.168.1.51:8081/repository/npm-ltdw/ --scope=@ltdwnpm
pnpm add @ltdwnpm/my-utils
npm全局配置从nexus拉取包 无作用域
只要配置完npm的 地址后, cnpm和pnpm 都是走的同一套代理.
npm config set registry=http://192.168.1.51:8081/repository/npm-group/
设置登录信息
npm adduser --registry=http://192.168.1.51:8081/repository/npm-group/
配置完查看 ~/.npmrc
1 | |
也可以直接修改vim ~/.npmrc registry. 然后再手动添加用户信息.
nexus的 npm-proxy代理地址不要配置错了, 错了拉取进行会报错.