配置NPM私有库

458 阅读1分钟

1.安装nvm(不用,或已安装,请跳过)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

  1. 安装sinopia(或verdaccio - 比较新的)
 nvm install stable
 
 
 npm install -g sinopia

image.png 启动sinopia

3、通过pm2管理verdaccio(比较旧的方法,可以用docker等)

使用pm2 start开启verdaccio

pm2 start verdaccio
pm2 stop verdaccio

image.png

  1. 安装nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
  1. 配置nginx
server {
       listen       80;
       server_name  npm.bjnja.com;

        location / {
                proxy_pass     http://127.0.0.1:4873;
       }
   }
   

一点小插曲 —— 阿里云上安装nginx时的遇到一点麻烦,apt-get 版本低,还有gcc等,装不了yum,需要升级下,其实是阿里云的ubuntu系统版本太老,好多东西不支持,需要升级一下

sudo apt-get update
  1. 客户使用使用nrm管理
npm install -g nrm

使用nrm add 添加我们私有库

nrm add nja http://npm.bjnja.com
nrm ls  
 npm ---- https://registry.npmjs.org/
 cnpm --- http://r.cnpmjs.org/
 taobao - https://registry.npm.taobao.org/
 nj ----- https://registry.nodejitsu.com/
 rednpm - http://registry.mirror.cqupt.edu.cn/
 npmMirror  https://skimdb.npmjs.com/registry/
 edunpm - http://registry.enpmjs.org/
* nja ---- http://npm.bjnja.com/
使用nrm use nja自由切换;然后就可以使用

补充:现在sinopia作者不维护了,推荐使用verdaccio,是sinopia分支

github.com/verdaccio/v…

其实后面域名可以先不用配置,先把verdaccio装上,可以用本地的http://127.0.0.1:4873测试,没问题以后,再搞公司域名对应

如果想在本地的verdaccio服务上发布包的话,那我们需要保证我们的verdaccio服务是运行的,查看当前使用的registry

nrm ls
// 使用nrm use 切换到自己服务上
nrm use

然后我们要在本地服务新建一个用户名

npm adduser --registry http://localhost:4873
// 如果使用https 需要获取到ca信息
npm set ca null
// publish locally
npm publish --registry http://localhost:4873

npm i -g <moduleName>

参考地址

使用docker+verdaccio搭建npm私有库

使用sinopia搭建npm