npm私服安裝教程 - verdaccio 入門

0x00 前言

最近想搭一個 npm 私服,找了一下網上的資料,發現了兩個項目:html

sinopia 以前好像很火,可是做者棄坑了,從項目裏的一個issue(見文末)發現,有人fork了一個項目,就是本文要使用的 verdaccio,目前該項目在積極維護中
cnpm 看起來雖然最近有commit,可是已經一年沒有 release了,並且安裝比較複雜node

最後選擇了verdaccio。nginx

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

0x01 安裝

全局安裝

$ sudo npm install -g verdaccio

筆者安裝的是 verdaccio@3.2.0,須要 node > 6.12.0, npm >=3.xgit

咱們使用 pm2 來管理進程,須要全局安裝 pm2github

若是 npm 安裝失敗可使用 yarnnpm

$ sudo npm install -g pm2

啓動 verdaccio

$ sudo pm2 start verdaccio

而後能夠查看 進程啓動狀況centos

$ pm2 ls

配置nginx反向代理

因爲 verdaccio 默認是啓動在 4873 端口,方便起見,配置 nginx 反向代理到該端口
若是須要查看 verdaccio 的端口號,能夠用 pm2 ls 查看到 verdaccio 的 pid,而後使用:bash

$ netstat -nap | grep <pid>

查看佔用的端口號ui

下面貼出 nginx 配置,centos 的nginx 配置文件在 /etc/nginx/conf.d/
新建一個配置文件,而後使用以下內容便可url

server {
  listen 80;
  server_name registry.npm.your.server;
  location / {
    proxy_pass              http://127.0.0.1:4873/;
    proxy_set_header        Host $host;
  }
}

重啓 nginx

$ sudo nginx -s reload

0x02 使用

項目中配置

訪問:http://registry.npm.your.server 能夠看到 verdaccio 已經安裝完成。

而後就能夠發佈你的 npm 包了~

方便起見,能夠在項目目錄下新建 .npmrc 文件,寫入以下內容:

registry=http://registry.npm.your.server

而後項目安裝的包就會先從你本身的npm下載,若是找不到就會找官方npm源

修改上游npm源

因爲 verdaccio 默認使用的是npm官方的源,你能夠改爲淘寶的源

他的配置文件在 /home/<username>/.config/verdaccio/config.yaml

其中有個 uplinks 字段

uplinks:
  npmjs:
  url: https://registry.npmjs.org/

將 url 改成 https://registry.npm.taobao.org/ 便可

參考文章

相關文章
相關標籤/搜索