0
点赞
收藏
分享

微信扫一扫

【npm】在Ubuntu1804部署Verdaccio


1、创建verdaccio系统用户:

$ sudo adduser --system --gecos 'Verdaccio NPM mirror' --group --home /var/lib/verdaccio verdaccio

 

2、切换到该用户,并且切入该用户的家目录:

$ sudo su -s /bin/bash verdaccio

$ cd

 

3、运行命令启动服务,然后退出,会在当前目录下生成storage目录和verdaccio目录

$ verdaccio

注意:storage目录下的 .verdaccio-db.json 文件很重要,发布一个自己的package会在里面加一项,页面上会根据该文件显示所有package,它的初始内容为:

{"list":[],"secret":"0a5833a4944951f0a799a921dedb3067e68b0e639767b72418fe1863d93a6801"}

 

4、storage目录不用动,后面发布的包都放在这个目录下,切换root账号,把verdaccio目录移动到 /etc 下,里面是配置文件 config.yaml

注意:后面当用户注册进来时,verdaccio目录下还会生成放在用户密码的文件 htpasswd

 

5、让它可以在后台以systemctl的方式运行,并且可以开机自启动:

把安装后自带的 verdaccio.service 复制到 /lib/systemd/system/,然后加载,命令如下:

$ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload

注意:该verdaccio.service文件默认指向的verdaccio配置文件路径就是 /etc/verdaccio/config.yaml,所以上一步才会那样做

 

6、然后就是修改配置文件,配置很重要:

     注意:配置文件一定不能包含Tab键,只能使用多个空格键,不然verdaccio会启动失败

     注意:cache: false 选项表示只缓存包的package.json文件,而不是整个包,不然storage将会充满包

storage: /var/lib/verdaccio/storage
plugins: ./plugins

web:
title: Verdaccio - RandSpace

listen:
0.0.0.0:13579

auth:
htpasswd:
file: ./htpasswd
max_users: 2

uplinks:
npmjs:
url: https://registry.npmjs.org/
cache: false

packages:

'@rand/*':
access: $authenticated
publish: rand
unpublish: rand

'@*/*':
access: $authenticated
publish: $authenticated
unpublish: rand
proxy: npmjs

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

server:
keepAliveTimeout: 60

middlewares:
audit:
enabled: true

logs: { type: stdout, format: pretty, level: http }

 

6、最后就可以启动,开机自启动,查看运行状态:

systemctl start verdaccio

systemctl enable verdaccio

systemctl status verdaccio

举报

相关推荐

0 条评论