之前写过一次利用 cnpm搭建私服,这次试试 verdaccio ,笔记放着
失败了,不会操作。。。
Verdaccio · 一个开源轻量的npm私服 A lightweight private npm proxy registry Verdaccio 是一种绿色,在中世纪后期的意大利很流行,常用于壁画。
两种部署方式
npm install --global verdaccio
thenverdaccio
启动- docker支持
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
运行
verdaccio --listen 4000 --config /aegisProject/self-npm/config.yaml
npm adduser --registry http://localhost:4000
设置端口,设定配置文件
全局修改
# 方案一,手动修改
npm set registry http://localhost:4000
yarn config set registry http:///localhost:4000
# 方案二 nrm 新增配置 推荐
nrm add test http://localhost:4000
nrm use test
# 方案三 项目级别配置 .npmrc
registry=http://localhost:4000
发包
{
"publishConfig": {
"registry": "http://localhost:4000"
}
}
配置文件可参考:
#
# 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:
title: Verdaccio
# comment out to disable gravatar support
# gravatar: false
# by default packages are ordercer ascendant (asc|desc)
# sort_packages: asc
# convert your UI to the dark side
# darkMode: true
# translate your registry, api i18n not available yet
# i18n:
# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations
web: zh-CN
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:
cnpm:
url: https://registry.npm.taobao.org/
# npmjs:
# url: https://registry.npmjs.org/
packages:
'@aegis/*':
access: $all
publish: $authenticated
'@*/*':
# scoped packages
access: $all
publish: $authenticated
unpublish: $authenticated
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/publish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: cnpm
# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
server:
keepAliveTimeout: 60
middlewares:
audit:
enabled: true
# log settings
logs:
- { type: stdout, format: pretty, level: http }
#- {type: file, path: verdaccio.log, level: info}
#experiments:
# # support for npm token command
# token: false
# # support for the new v1 search endpoint, functional by incomplete read more on ticket 1732
# search: false
# # disable writing body size to logs, read more on ticket 1912
# bytesin_off: false
# This affect the web and api (not developed yet)
#i18n:
#web: en-US
校验yaml可使用