前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >npm私服安装教程 - verdaccio 入门

npm私服安装教程 - verdaccio 入门

作者头像
savokiss
发布2019-11-06 19:05:40
2K0
发布2019-11-06 19:05:40
举报
文章被收录于专栏:码力全开码力全开

0x00 前言

最近想搭一个 npm 私服,找了一下网上的资料,发现了两个项目:

  • sinopia
  • cnpmjs.org

sinopia 之前好像很火,但是作者弃坑了,从项目里的一个issue(见文末)发现,有人fork了一个项目,就是本文要使用的 verdaccio,目前该项目在积极维护中 cnpm 看起来虽然最近有commit,但是已经一年没有 release了,而且安装比较复杂

最后选择了 verdaccio。

Verdaccio is a lightweight private npm proxy registry built in Node.js

0x01 安装

全局安装

代码语言:javascript
复制
$ sudo npm install -g verdaccio

笔者安装的是 verdaccio@3.2.0,需要 node > 6.12.0, npm >=3.x

我们使用 pm2 来管理进程,需要全局安装 pm2

如果 npm 安装失败可以使用 yarn

代码语言:javascript
复制
$ sudo npm install -g pm2

启动 verdaccio

代码语言:javascript
复制
$ sudo pm2 start verdaccio

然后可以查看 进程启动情况

代码语言:javascript
复制
$ pm2 ls

配置nginx反向代理

由于 verdaccio 默认是启动在 4873 端口,方便起见,配置 nginx 反向代理到该端口 如果需要查看 verdaccio 的端口号,可以用 pm2 ls 查看到 verdaccio 的 pid,然后使用:

代码语言:javascript
复制
$ netstat -nap | grep <pid>

查看占用的端口号

下面贴出 nginx 配置,centos 的nginx 配置文件在 /etc/nginx/conf.d/ 新建一个配置文件,然后使用如下内容即可

代码语言:javascript
复制
server {
  listen ;
  server_name registry.npm.your.server;
  location / {
    proxy_pass              http://127.0.0.1:4873/;
    proxy_set_header        Host $host;
  }
}

重启 nginx

代码语言:javascript
复制
$ sudo nginx -s reload

0x02 使用

项目中配置

访问:http://registry.npm.your.server 可以看到 verdaccio 已经安装完成。

然后就可以发布你的 npm 包了~

方便起见,可以在项目目录下新建 .npmrc 文件,写入如下内容:

代码语言:javascript
复制
registry=http://registry.npm.your.server

然后项目安装的包就会先从你自己的npm下载,如果找不到就会找官方npm源

修改上游npm源

由于 verdaccio 默认使用的是npm官方的源,你可以改成淘宝的源

他的配置文件在

/home/<username>/.config/verdaccio/config.yaml

其中有个 uplinks 字段

代码语言:javascript
复制
uplinks:
  npmjs:
  url: https://registry.npmjs.org/ 

将 url 改为

https://registry.npm.taobao.org/

即可

参考文章

  • verdaccio
  • ways to have your private npm registry
  • introduction to verdaccio
  • sinopia no longer maintain issue
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码力全开 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
  • 0x01 安装
    • 全局安装
      • 启动 verdaccio
        • 配置nginx反向代理
        • 0x02 使用
          • 项目中配置
            • 修改上游npm源
            • 参考文章
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档