私服开源工具推荐
- Nexus
- Verdaccio
例子按照Verdaccio的步骤进行拆解
服务器上部署verdaccio和注册私服帐号
- linux centos 中安装 docker Verdaccio 的镜像,到dockerHub站点下载
- 配置 持久化进程守护的方式运行 verdaccio的服务
- verdaccio服务部署好后配置文件会返回一个web访问地址如:http://192.168.1.109:4873
- 先用浏览器访问下该网址,确保服务可以正常访问
- 网站首页不一定有新增用户的入口(我用的v4.12.2是没有找到)
- 这步开始提供一种创建npm私服帐号的方法(步骤如下)
- 6.1 新建一个空文件夹
- 6.2 执行npm init -y
- 6.3 在当前文件夹下shell命令执行
npm adduser --registry=http://192.168.1.109:4873 - 6.4
username: [新用戶名] - 6.5
password: [新密碼] - 6.6 会提示注册和登陆成功
- 6.7
npm publish上传测试下是否成功 - 6.8
如果成功了,上传测试到这结束,如果失败看下什么原因有可能是403的一些错误
npm工具包的.npmrc文件配置详解
它的作用是设置 npm 的行为和默认的选项 这里可以把私服的访问地址和私服帐号设置进去,这样每次发包的时候就方便多了
- 配置参考如下:(
.npmrc)
@yh-hl:registry=http://192.168.1.109:4873/ # Verdaccio
email=marklow@126.com
always-auth=true
_auth="guest:H95sTgGHI0ua6"
Verdaccio私服帐号的信息如何查看获取
docker ps
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6294fd19f092 verdaccio/verdaccio:4 "uid_entrypoint /bin…" 3 hours ago Up 3 hours 0.0.0.0:4873->4873/tcp inspiring_yalow
6ed8324ed2bc minio/minio "/usr/bin/docker-ent…" 4 weeks ago Up 8 days 0.0.0.0:9000->9000/tcp minio
c9aa4f612175 kibana:7.3.2 "/usr/local/bin/dumb…" 7 months ago Up 8 days 0.0.0.0:5601->5601/tcp kibana
6473edbef510 elasticsearch:7.3.2 "/usr/local/bin/dock…" 7 months ago Up 8 days 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
docker exec -it 6294fd19f092 /bin/sh- 切换到 root 根目录下 /
~ $ pwd
/opt/verdaccio
~ $ cd /
- 如果之前步骤新用户新建成功的话,这时在
/verdaccio/storage目录下会有htpasswd文件 - 打开
htpasswd文件 - 出现如下内容:
guest:H95sTgGHI0ua6:autocreated 2023-05-04T07:38:14.151Z
~
~
~
~
- 复制
guest:H95sTgGHI0ua6粘贴至.npmrc的_auth参数上(H95sTgGHI0ua6这个编码是由之前步骤注册用户的时候系统自动生成的,如果要自己生成则可以用 htpasswd工具进行生成后再添加至/verdaccio/storage/htpasswd文件内,保存后要重启docker的verdaccio服务)
npm包发包和发版详解
- 如我开发的
fusion-cli这个包每次改动完后第1步提交改动至git仓库 - 如果是小改动则执行
npm version patch,其它版本号的迭代查看npm version --help - 执行
npm publish
存在的问题和补充内容
- 要先改动提交有commit记录了才能发包
- 发包前必须要修改npm版本号
- 工具包依赖的其它依赖要用
npm i -S来安装,否则其它用户下载了这个包,执行的时候会少工具包相关的依赖,则运行错误