NPM 私有仓

NPM 私有仓

1. 环境

Windows 10 专业版

node:

node -v
# v16.14.2

2. 安装

npm install -g verdaccio

3. 目录结构

/D/verdaccio/
    storage/
    config.yaml
    htpasswd
    readme.md
    start_verdaccio.bat
    start_verdaccio.vbs

4. 配置

D:\verdaccio\config.yaml: (以下不是全部配置)

auth:
  htpasswd:
    file: D:\verdaccio\htpasswd

uplinks:
  npmjs:
    url: https://repo.huaweicloud.com/repository/npm/

packages:
  '@hui/*':
    # scoped packages
    access: $all
    publish: $authenticated
    unpublish: $authenticated

  '**':
    access: $all
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs

listen:
  - 0.0.0.0:4873              # listen on all addresses (INADDR_ANY)

max_body_size: 50mb

5. 运行

verdaccio --config D:\verdaccio\config.yaml

# warn --- config file  - D:\verdaccio\config.yaml
# warn --- Plugin successfully loaded: verdaccio-htpasswd
# warn --- Plugin successfully loaded: verdaccio-audit
# warn --- http address - http://0.0.0.0:4873/ - verdaccio/5.9.0

6. 发布

${root} 代表项目根目录

6.1. 私仓源

${root}/.npmrc :

# 以 @hui 打头的都会请求以下地址
@hui:registry=http://192.168.1.155:4873/

registry=https://repo.huaweicloud.com/repository/npm/

在安装依赖时,如果是 @hui 打头的包名 则会使用对应的地址

6.2. 过滤

${root}/.npmignore :

.idea

node_modules

选择不发布哪些文件/目录,配置规则与 .gitignore 一样。

如果没有 .npmignore 文件,则会使用 .gitignore 文件。

6.3. 发布地址

${root}/package.json :

{
  "publishConfig": {
    "registry": "http://192.168.1.155:4873"
  }
}

npm publish 时会用到。

6.4. 版本管理

版本号格式:

{
  "version": "major.minor.patch"      // "2.16.8"
  
  "version": "主版本号.次版本号.修订号" // "2.16.8"
}

升级版本号:

# 升级主版本号
npm version major

# 升级次版本号
npm version minor

# 升级修订号
npm version patch

6.5. 执行发布

npm adduser --registry http://192.168.1.155:4873/

# Username: wuqinfei
# Password: 123456
# Email: (this IS public) wuqinfei@qq.com

npm publish

执行 npm publish 时,如果没有设置用户,
则要求执行 npm adduser --registry http://192.168.1.155:4873/ 来添加用户

7. 开机启动

  • D:\verdaccio\start_verdaccio.bat

    verdaccio --config D:\verdaccio\config.yaml
    
  • D:\verdaccio\start_verdaccio.vbs

    set ws=WScript.CreateObject("WScript.Shell") 
    ws.Run "cmd.exe /k D:\verdaccio\start_verdaccio.bat"
    

D:\verdaccio\start_verdaccio.bat
放到 C:\Users\${user}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

打开电脑,登录账号(${user})后才会执行 “Startup” 目录中的程序。

如果想一打开电脑就让 BAT 执行,则可以将其做成 windows 服务。

8. 配置成 windows 服务

管理员权限启动 CMD。

新增服务(verdaccio):

C:\Windows\system32> D:\verdaccio\bin\instsrv.exe verdaccio D:\verdaccio\bin\srvany.exe

The service was successfuly added!

Make sure that you go into the Control Panel and use
the Services applet to change the Account Name and
Password that this newly installed service will use
for its Security Context.

设置服务参数:

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\verdaccio\Parameters /v AppDirectory /d "D:\verdaccio" /t reg_sz /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\verdaccio\Parameters /v Application /d "D:\verdaccio\start_verdaccio.bat" /t reg_sz /f

查看服务:

  • win + R 运行 services.msc

9. 参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值