搭建企业私有npm仓库

必要性:

如果公司处于隐私保护的目的,不想将封装的包推到npm社区,但是又急需一套完整的包管理工具来管理很多的封装组件,以方便公司内部人员使用.创建一套私有的npm仓库很有必要.

注:创建私有仓库还可以存着一些常用的npm包,相比npm和淘宝镜像的cnpm,私有仓库安装依赖的速度更快.

安装环境:

centos服务器,nodejs,pm2,nginx

搭建过程:

使用SecureCRT进入服务器

1.安装node.js   详情见 --> 服务器配置--centos

2.安装verdaccio npm install -g verdaccio --unsafe-perm 

注:加上--unsafe-pern的原因是防止包grywarn权限错误

3.修改配置文件config.yaml,在最后添加监听的端口,端口可修改listen:0.0.0.0:4873

注:如果不知道config.yaml的路径,可以先直接启动verdaccio,启动日志里面会显示完整路径

warn --- config file  - /root/.config/verdaccio/config.yaml

4.启动verdaccio

verdaccio 

5.进程守护

为了防止异常情况引起的verdaccio服务停止,采用nohup或者pm2做进程守护

nohup做进程守护nohup verdaccio & 

注:nohup是linux自带的不需要安装,如果使用pm2的话需要额外安装npm install pm2 -g

pm2做进程守护pm2 start verdaccio  

6.nginx配置域名和代理

如果不想把外网ip和端口暴露出去或者为了提升访问效率使用多台服务器,可以采用nginx配置

nginx的安装略过 详情见 -->centos下Nginx的安装与简单配置

配置:server {     listen 80;    server_name 'www.example.com';    loaction /{    proxy_redirect off;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header Host $host;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    if($request_uri ~ "^\/系统一"){      proxy_pass  serverip:server-port;      }       }  }

到此,安装完成,那么如何使用呢

使用:

1.安装nrm,nrm是一个npm的资源管理器,允许快速的在npm源之间切换npm install -g nrm 

使用nrm增加私有仓库的源nrm add exampleName http://www.example.com:8080

执行nrm ls查看本机的可选源 npm ---- https://registry.npmjs.org/cnpm --- http://r.cnpmjs.org/taobao - https://registry.npm.taobao.org/* exampleName --- http://www.example.com:8080/

注:带星号的代表当前所使用的源可以使用 nrm use name切换不同的源

2.上传,更新组件

再上传之前,需要先增加用户npm adduser 

如果已经有了账号直接登录npm login

根据提示输入用户名,密码,邮箱.

初始化npm包npm init

根据提示输入包名,版本号等等的信息,开发完成,执行下面命令上传发布npm publish

如需修改,修改完成之后,在次执行npm publish,会自动替换成最新的.

3. 下载使用nrm -i 组件名  /nrm -i 组件名

使用方式和npm安装的依赖是完全一样的.

欢迎关注个人公众号

你可能感兴趣的:(前端)