我是靠谱客的博主 娇气书包,最近开发中收集的这篇文章主要介绍NPM 私有仓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:verdaccioconfig.yaml: (以下不是全部配置)

auth:
  htpasswd:
    file: D:verdacciohtpasswd

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:verdaccioconfig.yaml

# warn --- config file  - D:verdaccioconfig.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:verdacciostart_verdaccio.bat

    verdaccio --config D:verdaccioconfig.yaml
    
  • D:verdacciostart_verdaccio.vbs

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

D:verdacciostart_verdaccio.bat
放到 C:Users${user}AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

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

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

8. 配置成 windows 服务

管理员权限启动 CMD。

新增服务(verdaccio):

C:Windowssystem32> D:verdacciobininstsrv.exe verdaccio D:verdacciobinsrvany.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_MACHINESYSTEMCurrentControlSetServicesverdaccioParameters /v AppDirectory /d "D:verdaccio" /t reg_sz /f
reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesverdaccioParameters /v Application /d "D:verdacciostart_verdaccio.bat" /t reg_sz /f

查看服务:

  • win + R 运行 services.msc

9. 参考

  • 官网 https://verdaccio.org/
  • 如何把.bat文件设置为开机自动启动?
  • vbs编程-执行cmd命令
  • 把批处理(bat)做成Windows服务(Server)
  • 使用instsrv.exe+srvany.exe将应用程序安装为windows服务的方法 (包含下载链接)

最后

以上就是娇气书包为你收集整理的NPM 私有仓NPM 私有仓的全部内容,希望文章能够帮你解决NPM 私有仓NPM 私有仓所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部