使用verdaccio 搭建本地npm 服务器

700 阅读1分钟

原因:因为构建环境多,部分npm依赖国内无法访问,和git 偶尔会被墙,所以才生成本地npm服务器的想法,然后找到 verdacciosinopia可以满足我们现有的需求,所以记录一下自己搭建过程和遇到的坑;这里说一下为什么不使用sinopia  因为,更新时间和内部的坑;

目前遇到的坑:

  • 无法安装带@符号的包比如:@antv/g6 (解决方案 修改var encode = function(thing) {return encodeURIComponent(thing).replace(/^%40/, '@') ;};)
  • 无法安装带/的包 等;

后面还遇到各种问题就放弃了;

verdaccio 的安装:

  1.   先安装node 这里就不讲怎么安装,并做软连接到全局;

  2. 安装 verdaccio

    npm install -g verdaccio --unsafe-perm
    
  3. `建立软连接

    verdaccio`

    ln -s /usr/local/node/lib/node_modules/verdaccio/bin/verdaccio /usr/local/bin/verdaccio
    
  4. 修改 config.yaml

    vi /root/.config/verdaccio/config.yaml
    listen: 0.0.0.0:4873                    #需要对外暴露端口
    
  5. 启动 verdaccio

    verdaccio

verdaccio 已经安装成功;

接下来安装pm2:

  1. npm install -g pm2 --unsafe-perm

  2.  #建立pm2软连接
     ln -s /usr/local/node/lib/node_modules/pm2 /usr/local/bin/pm2
     
    
  3.  #使用pm2启动verdaccio
     pm2 start verdaccio
    

可以通过客户端进行访问 http://xxx.xxx.xxx.xxx:4873,如果不能访问请检查时候将 4873端口暴露,或者将防火墙是否关闭;