使用 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

相关推荐
蓝倾5 分钟前
京东批量获取商品SKU操作指南
前端·后端·api
JSLove12 分钟前
常见 npm 报错问题
前端·npm
sunbyte12 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ContentPlaceholder(背景占位)
前端·javascript·css·vue.js·tailwindcss
爱学习的茄子13 分钟前
React Hooks进阶:从0到1打造高性能Todo应用
前端·react.js·面试
知性的小mahua17 分钟前
vue3+canvas实现摄像头ROI区域标记
前端
嘗_32 分钟前
暑期前端训练day5
前端
uncleTom66639 分钟前
前端布局利器:rem 适配全面解析
前端
谦哥42 分钟前
Claude4免费Vibe Coding!目前比较好的Cursor替代方案
前端·javascript·claude
LEAFF1 小时前
如何 测试Labview是否返回数据 ?
前端
Spider_Man1 小时前
🚀 从阻塞到丝滑:React中DeepSeek LLM流式输出的实现秘籍
前端·react.js·llm