使用 Verdaccio 建立私有npm库

网上有很多方法,但很多没标注nginx的版本所以踩了一些坑,下方这个文档是完善后的,对linux不是很熟练,所以不懂linux不会搭建的跟着做就可以了

搭建方法

  1. 首先需要一台云服务器 以139.196.226.123为例
  2. 登录云服务器 下载node cd /usr/local/lib
  3. 下载node 解压
    下载 wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-x64.tar.xz
    解压 tar xvf node-v18.12.0-linux-x64.tar.xz
    改名 mv node-v18.12.0-linux-x64 nodejs;
    建立软链接 ln -s /usr/local/lib/nodejs/bin/npm /usr/bin/npm
    ln -s /usr/local/lib/nodejs/bin/node /usr/bin/node
    node -v npm -v 看看是否安装好
  4. 全局安装 npm i verdaccio -g;
    建立软链接 ln -s /usr/local/lib/nodejs/bin/verdaccio /usr/bin/verdaccio
  5. 全局安装pm2,用来守护node进程:npm i pm2 -g;
    建立软链接 ln -s /usr/local/lib/nodejs/bin/p2m /usr/bin/pm2
  6. 安装nginx
    cd /usr/local/lib
    下载:wget http://nginx.org/download/nginx-1.16.1.tar.gz 不要下载别的版本
    解压:tar -zxvf nginx-1.16.1.tar.gz;
    换个名字:mv nginx-1.16.1 nginx;
    进入安装目录:cd nginx
    执行:./configure;
    执行:make && make install;
    建立软链接 ln -s /usr/local/nginx/sbin/nginx /usr/bin/
    启动nginx: sudo nginx
    (重启命令:sudo nginx -s reload)
    7.执行p2m pm2 start verdaccio 打开你的公网IP http://139.196.226.123:4873/
  7. verdaccio启动时候可能http://139.196.226.123:4873/无效
    解决方案 cd /root/.config/verdaccio 打开config.yaml 加入 listen: 0.0.0.0:4873

重启 verdaccio 即可打开

9.创建verdaccio账号

linux

sudo yum install httpd-tools

cd /root/.config/verdaccio

htpasswd -c ./htpasswd gpyh 输入账号密码

http://139.196.226.123:4873/登录

10.发布

my-cli

index.js

remand.md

package.json

package.json

{

"name": "gpyh",

"version": "0.0.8",

"type": "module",

"main": "./index.js",

"private": false,

"license": "ISC"

}

执行 npm adduser --registry http://139.196.226.123:4873/ 输入账号密码

复制代码
npm publish --registry http://139.196.226.123:4873/

使用方法

本地项目.npmrc 加入

registry = http://139.196.226.123:4873

相关推荐
excel1 小时前
ES6 中函数的双重调用方式:fn() 与 fn\...``
前端
可乐爱宅着1 小时前
全栈框架next.js入手指南
前端·next.js
你的人类朋友3 小时前
什么是API签名?
前端·后端·安全
会豪5 小时前
Electron-Vite (一)快速构建桌面应用
前端
中微子5 小时前
React 执行阶段与渲染机制详解(基于 React 18+ 官方文档)
前端
唐某人丶5 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
中微子5 小时前
深入剖析 useState产生的 setState的完整执行流程
前端
遂心_5 小时前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
小徐_23336 小时前
uni-app vue3 也能使用 Echarts?Wot Starter 是这样做的!
前端·uni-app·echarts
RoyLin6 小时前
TypeScript设计模式:适配器模式
前端·后端·node.js