首页 > 系统相关 >【npm】在Ubuntu1804部署Verdaccio

【npm】在Ubuntu1804部署Verdaccio

时间:2023-03-02 16:32:20浏览次数:50  
标签:npm Ubuntu1804 authenticated lib rand storage verdaccio 目录 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

标签:npm,Ubuntu1804,authenticated,lib,rand,storage,verdaccio,目录,Verdaccio
From: https://blog.51cto.com/u_13128132/6096428

相关文章

  • Docker + Verdaccio搭建Npm私有库
    废话不说,直接进入正题。搭建私服需要一台服务器,1核2G即可。一、安装Dockerlinux 服务器使用 curl下载快速安装的shell脚本curl-fsSLget.docker.com-oget-docker.......
  • npm install时遇到错误"error:0308010C:digital envelope routines::unsupported"的解
    今天早上打开电脑,更新了日常工作的github仓库,然后就是习惯性地执行了"npminstall",发现报了下面这个错误:Error:error:0308010C:digitalenveloperoutines::unsuppo......
  • 如何实现一个公共组件库上传到npm并在项目中使用
    一般多个项目使用一些公共组件的时候,我们没必要在每个项目里写公共组件代码,我们可以将公共组件封装成一个库,上传至npm,这样我们在项目中使用就可以直接从npm下载直接使用。当......
  • npm install 报错 -4048
    方法一:删除npmrc文件。强调:不是nodejs安装目录npm模块下的那个npmrc文件,而是在C:\Users\{账户}\下的.npmrc文件。方法二:以管理员身份运行cmd,执行命令npm......
  • npm 常用安装包命令总结
    直接安装使用npm直接安装模块,默认是生产环境,包名会注册到package.json里的dependencies中,且会把包安装到项目node_modules文件夹里面:npminstallmodule_name......
  • npm镜像更换
    在加载nmp时有时会很慢,是由于node安装插件是从国外服务器下载,受网络影响大,速度慢且可能出现异常,这时候就需要更换镜像,使插件的安装快捷,以便于我们项目的开发查看npm镜像......
  • npm install 报错 The package-lock.json file was created with an old version of n
    1.报错截图: 2 报错原因:npm版本过高,解决方法见第如下npminpm@6-g检测npm-vnpm版本版本已经降低再进行npminstall的操作就不会报错了。......
  • npm是使用
    常用命令npmviewXXXversions:获取插件在npm上的所有版本开发中遇到的问题误删:npm被误卸载,需要卸载node,在重新安装node,参考:https://blog.csdn.net/huangpb123/ar......
  • npm run 执行多任务的package.json配置
    有时需要在运行npmrun时,执行多个自定义的任务,此时可以使用增加scripts中条目,然后用一个总任务脚本将相关条目用&&串联起来的方式进行。我们知道:在package.json中,scripts里......
  • 使用npm包API Promise化
             ......