安装verdaccio
npm i -g verdaccio
安装完成 输入verdaccio,出现下面信息代表安装成功,同时输入verdaccio后verdaccio已经处于运行状态,当然这种启动时暂时的,我们需要通过pm2让verdaccio服务常驻
yg@iZ2zec61wsgbo9t9i346jbZ:~$ verdaccio
warn --- config file - /home/yg/.config/verdaccio/config.yaml
warn --- Plugin successfully loaded: htpasswd
warn --- Plugin successfully loaded: audit
warn --- http address - http://localhost:4873/ - verdaccio/3.10.1
配置config.yaml
1、vim /home/yg/.config/verdaccio/config.yaml 进入编辑配置文件
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#
# path to a directory with all packages
# 所有包缓存的目录
storage: ./storage
# path to a directory with plugins to include
# 插件目录
plugins: ./plugins
# 开启web服务,能够通过web访问
web:
# WebUI is enabled as default, if you want disable it, just uncomment this line
#enable: false
title: Verdaccio
# 验证信息
auth:
htpasswd:
# 用户信息存储目录
file: ./htpasswd
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
#max_users: 1000
# a list of other known repositories we can talk to
# 公有仓库配置
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
# 代理,表示没有的仓库去这个npmjs里边去找
# npmjs 又指向 https://registry.npmjs.org/ ,就是上面的 uplinks 配置
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
# 三种身份所有人,匿名用户,认证(登录用户)
# 是否可访问所需的权限
access: $all
# allow all known users to publish packages
# (anyone can register by default, remember?)
# 发布package的权限
publish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
# 如果package不存在,就向代理的上游服务器发起请求
proxy: npmjs
# To use `npm audit` uncomment the following section
middlewares:
audit:
enabled: true
# 监听端口,重点,不配置这个只能本机可以访问
listen: 0.0.0.0:4873
# log settings
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: verdaccio.log, level: info}
安装 pm2
npm i pm2 -g
启动
pm2 start verdaccio
就可以通过http://xxx(ip地址)去访问了
设置 npm 服务指向本地
npm config set registry http://localhost:4873
注册用户
# 注册用户 在本地注册一个用户然后指向我们的地址然后我们就可以发布包了
npm adduser --registry http://xxx:4873
Username: xxx
Password: xxx
Password: xxx
Email: (this IS public) xxx
Logged in as yg-ui on http://xxx/ (你的ip地址)
这时候我们就注册一个用户,我们可以用这个用户名和密码去登录去上图窗口去登录了
登录
npm login # 用刚刚注册的用户名密码进行登录
npm whoami # 查看当前登录的账号
发包
mkdir npm-publish-test # 包文件夹
cd npm-publish-test
npm init # npm初始化
npm publish
删除 指定版本或包
$ npm unpublish [<pkg>][@<version>] --force
下面列一下几种使用场景
-
$ npm unpublish dzmtest@1.0.1 --force
直接强制删除指定包的指定版本,不需要 cd 进入包文件夹内,随处可以执行。 -
$ npm unpublish dzmtest --force
直接强制删除指定包,不需要 cd 进入包文件夹内,随处可以执行。