NodeJS学习:搭建私有NPM

工具

  • verdaccio
  • nrm
  • pm2

特色

verdaccio 的特色:web

  • 不一样步拉取npm库,占据大量硬盘,没有硬盘被撑爆的问题;
  • 安装配置极其简单,不须要数据库;
  • 支持配置上游registry配置,拉取即缓存;
  • 支持forever及pm2守护进程管理;
  • 私有npm package 管理
  • 支持 docker 等应用容器

verdaccio 是上一个 sinopia 的交叉分支。docker

安装 verdaccio

npm i verdaccio -g

安装好后,执行 verdaccio 便可以看到本地 NPM 的web管理界面。数据库

更换 registry

不推荐npm

npm config set registry http://

推荐缓存

npm i nrm -g

nrm list | nrm ls
nrm add [name] [http://url]
nrm use [name]
nrm del [name]

建立NPM帐号

npm adduser | npm adduser --registry  http:// localhost:4873 /
username:***
password:***

其它用户相关命令:服务器

npm login  #登录
npm logout #退出
npm whoami #查看当前用户

发布package

npm publish

升级版本号工具

npm version patch #升级补丁版本号
npm version minor #升级副版本号
npm version major #升级主版本号

verdaccio - profile

verdaccio 的配置文件是默认存放在用户目录中的,在window上其路径是:~\Users\Administrator\.config\verdacciourl

  • storage : 存放 npm包的目录。
  • config.yaml : verdaccio 的配置文件
  • htpasswd : 用于保存注册的用户。

config.yaml说明代理

##设置NPM包的存放目录
storage: ./storage   

# 配置WEB UI界面
web :
    title : '搭建私有NPM'
    #logo : logo.png

## 设置用户验证的文件。
auth:                
  htpasswd:
    file: ./htpasswd
    max_users: 1000   #默认为1000,改成-1,禁止注册

# 设置其它的npm注册源(registry)
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

#配置权限管理
packages:
  '@*/*':
    #表示哪一类用户能够对匹配的项目进行安装 【$all 表示全部人均可以执行对应的操做,$authenticated 表示只有经过验证的人能够执行对应操做,$anonymous 表示只有匿名者能够进行对应操做(一般无用)】
    access: $all
     #表示哪一类用户能够对匹配的项目进行发布
    publish: $authenticated

  '*':
    #表示哪一类用户能够对匹配的项目进行安装
    access: $all

    #表示哪一类用户能够对匹配的项目进行发布
    publish: $authenticated

    # 若是一个npm包不存在,它会去询问设置的代理。
    proxy: npmjs

# 日志输出设置
logs:
  - {type: stdout, format: pretty, level: http}
  #- {type: file, path: verdaccio.log, level: info}

#修改监听的端口
#listen: 0.0.0.0:4873

PM2启动 verdaccio

pm2 start verdaccio

还须要...

  • 在服务器上搭建
  • 按需进行用户权限分组?
  • Nginx代理

http://www.verdaccio.org/日志

相关文章
相关标签/搜索