npm私有包部署与开发

635 阅读1分钟

Nexus

环境准备

nextus3部署

  1. 拉取镜像
docker pull sonatype/nexus3
  1. 启动容器
docker run -d -p 8081:8081 sonatype/nexus3

nexus的jvm默认内存比较大,可能起不来,我们可以调小一点

docker run -d -p 8081:8081 --name nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms256m -Xmx256m -XX:MaxDirectMemorySize=256m -Djava.util.prefs.userRoot=/some-other-dir" --restart=always sonatype/nexus3

看看有没有启动成功

curl http://localhost:8081/
  1. 查看密码

首先我们进入容器

docker exec -it container_id bash

查看默认密码

cd nexus-data/
cat admin.password

项目配置

配置文件准备

  1. 项目根目录添加.npmrc文件

_auth是 username:password 的base64

registry=http://127.0.0.1:8081/repository/npm-group
_auth=ZGVwbG95ZXI6ZGVwbG95ZXI=
  1. 清理缓存
npm cache clean -f

发布私有包

⚠️注意私有包地址是hosted不是group或者proxy

  1. 直接使用命令关联仓库发布

npm publish --registry=http://localhost:8081/repository/npm-hosted/
  1. 在package.json添加配置发布

{
"publishConfig" : {
    "registry" : "http://localhost:8081/repository/npm-hosted/"
	}
}
npm publish

安装私有包

查看安装信息

npm --loglevel info install react  

verdaccio(推荐)

npm install -g verdaccio

//npm.zzfzzf.com/:_authToken=NpmToken
@zzf:registry=http://npm.zzfzzf.com/
always-auth=true

registry=https://npm.zzfzzf.com/
_auth=base64