搭建npm私服流程 - 人生梦想起飞

时间:2024-03-03 14:10:43

npm私服必要性


1. 如果公司处于隐私保护的需要,不想将自己封的包推到npm社区,但又急需要一套完整的包管理工具来管理越来越多的组件,模块,项目。对于前端,最熟悉的莫过于npm,bower等,但是bower的市场明显没有npm强大的,npm是前端包管理的不二选择 。
2. 下过node库的人都懂,从npmjs上下载有多慢,所以大家会用cnpm从淘宝那下,但有比淘宝更快的方法是从局域网的私服下。
3. 当我们搭好了这套私服管理工具之后有什么优势呢?

  • 私有包托管在我们的私服上,不对外。
  • 项目中使用的所有包可以缓存在我们的私服上,然后大家下包的时候走私服,不用走npmjs了。速度快上七八倍不在话下。
  • 对于下载和发布npm包都有了相应的权限管理。

npm私服搭建过程


1. 安装node环境

2. 安装verdaccio 

npm install -g verdaccio --unsafe-perm (加上–unsafe-perm的原因是防止报grywarn权限的错)

3. 修改配置文件,verdaccio所有配置文件都在这个文件中,配置文件中自带注释信息,配置文件目录 /root/.config/verdaccio/config.yaml(备注:verdaccio 的特点是,你在哪个目录运行,它的就会在对应的目录下创建自己的文件)
4. 在配置文件最后添加监听端口 listen: 0.0.0.0:8080

5. 启动verdaccio,命令如下:

verdaccio

6. pm2守护verdaccio进程

利用第一种方法虽然可以正常启动和使用verdaccio,但不建议用这种方式启动verdaccio,我们可以用pm2来使用pm2对verdaccio进程进行托管启动。
安装pm2并使用pm2启动verdaccio,使用pm2托管的进程可以保证进程永远是活着的,尝试通过kill -9去杀verdaccio的进程发现杀了之后又自动启起来。推荐使用此种方式启动verdaccio

# 安装pm2

npm install -g pm2 --unsafe-perm

# 使用pm2启动verdaccio

pm2 start verdaccio

# 查看pm2 守护下的进程verdaccio的实时日志

pm2 show verdaccio

# 实时查看该路径下的日志命令

tail -f /home/admin/.pm2/logs/verdaccio-out-0.log

7. 添加用户

npm adduser --registry http://192.168.XX.XX:8080       //后面是我们的私服地址
类似如下:
Username: lk
Password: 
Email: (this IS public) lk@qq.com
Logged in as rong on http://192.168.XX.XX:8080/.

到这里npm私服搭建就完毕了然后在verdaccion启动页面尝试登录即可,默认登录后有发布包的权限。(这里可以通过修改config.yaml配置文件来对权限进行设置)

备注:服务器中一定要安装Python,版本必须大于2,因为verdaccio有用到python