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

  • 相关阅读:
    将网址转化为map或对象,方便取值
    Spring Boot 配置文件
    大数据ClickHouse进阶(二十四):ClickHouse权限管理
    31.7.4 忽略指定的数据表
    为什么选择B+树作为数据库索引结构?
    【前端面试题】浏览器面试题
    FAST协议详解4 存在图PMap
    Terraform 系列-什么是 IaC?
    Android 用线程池实现一个简单的任务队列(Kotlin)
    paddlespeech on centos7
  • 原文地址:https://blog.csdn.net/weixin_40461134/article/details/139659831