Nexus3部署npm私服

·

内网搭建好Nexus私服管理器

第一步:在blobStores 创建存储库:npm-store

第二部:在repositories 创建仓库:npm-demo

第三步:并复制npm源地址http://192.168.1.3:8081/repository/npm-demo/

第四步:配置关联npm源地址

npm config set registry http://192.168.1.3:8081/repository/npm-demo/
npm login

第五步:发布tgz包到远程仓库

shell脚本(整合tgz包到一个目录下)

find . -name '*.tgz' -exec cp -f {} ../tgz \;

该命令会把多目录下的.tgz压缩包复制到tgz目录下。

通过脚本上传tgz包到npm仓库

#!/bin/bash

PACKAGE_PATH=./tgz
REPOSITORY=http://192.168.1.3:8081/repository/npm-demo/

# npm login --registry=$REPOSITORY

for file in $PACKAGE_PATH/*.tgz; do
 npm publish $file
done

如何下载项目node_modules中依赖的tgz包到本地

下载 node-tgz-downloader,用来下载依赖tgz文件;脚本会通过 packagelock.json锁定的依赖包版本下载相关联的依赖包)

安装:

npm install node-tgz-downloader -g

在 npm install 生成 node_modules 文件夹后到工程根目录执行命令 download-tgz package-lock package-lock.json 网络和境外服务器原因会失败且有可能下载0kb的压缩包,需要多执行几次。

download-tgz package-lock package-lock.json

参考文章:https://segmentfault.com/a/1190000041527732

Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注