搭建自己的npm私服

939 阅读1分钟

搭建自己的npm私服

序言:为什么用verdaccio搭建npm私有源?

  1. 因为是企业级项目,很多组件,方法都是内部使用,所以直接发布到npm公有源不安全;
  2. 以后的组件化,模块化,工程化,团队建设,都需要私有源配合;
  3. verdaccio比较简单,官方文档和文章都比较丰富

一、安装verdaccio

1、登录阿里云服务器 ssh root@xx.x.x

2、输入密码,成功后显示如下

image-20211222134802368

image-20211222134802368

3、npm i -g verdaccio

4、安装完成 输入verdaccio,出现下面信息代表安装成功,同时输入verdaccio后verdaccio已经处于运行状态,当然这种启动时暂时的,我们需要通过pm2让verdaccio服务常驻

yg@iZ2zec61wsgbo9t9i346jbZ:~$ verdaccio warn --- config file - /home/yg/.config/verdaccio/config.yaml warn --- Plugin successfully loaded: htpasswd warn --- Plugin successfully loaded: audit warn --- http address - http://localhost:4873/ - verdaccio/5.3.2

5、安装好pm2 后,运行 pm2 start verdaccio


二、在阿里云配置安全规则、解析域名

image-20211222135450338

image-20211222135450338


三、在宝塔面板配置方向端口,使用pm2管理面板来启动

UI配置文档见:Web 用户界面 | Verdaccio

image-20211222135537123

image-20211222135537123

image-20211222135326684

image-20211222135326684

image-20211222143203232

image-20211222143203232


四、配合nrm来管理npm源

我用的是nrm,所以我以nrm来举例,也推荐你使用nrm

其实nrm只是个npm registry 管理工具,有了它可以让我们切换和查看registry 地址更方便快捷,即便没有它,我们直接用npm的set命令也可以切换地址,用type命令也可以查看地址,只不过用nrm更便捷,用不用随你了,觉得方便就用。

安装npm install -g nrm

增加本地私有源nrm add zl-verdaccio http://x.x.x.x:4873/

查看本地的npm 源:nrm ls

image-20211222143846044

image-20211222143846044

使用nrm use zlevai

这样就可以从自己的npm仓库拉取对应的包了


五、往自己的npm仓库推送自己的组件包

#当前npm 服务指向本地 nrm use zlevai
npm set registry http://localhost:4873
# 注册用户 在本地注册一个用户然后指向我们的地址然后我们就可以发布包了
npm adduser --registry http://xxx:4873
Username: xxx
Password: xxx
Email: (this IS public) xxx
Logged in as yg-ui on http://xxx/ (你的ip地址)
这时候我们就注册一个用户,我们可以用这个用户名和密码去登录去上图窗口去登录了

image-20211222144438219

image-20211222144438219

1、新建一个npmtest 目录,里边放一个文件
2、进入目录 npm init 生成package.json
3、npm publish    # 第二次发包已经切换到我们私服地址的情况下
   npm publish --registry http://xxx:4873   #未切换到我们的私服时,直接加后缀可以发布到私服上。
  第二次发包我们需要npm login 输入用户密码以及邮箱即可(这里需要注意的是

推送:npm publish --registry http://39.96.4.139:4873/


六、删除包

yg@iZ2zec61wsgbo9t9i346jbZ:~cd /home/yg/.config/verdaccio
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdacciols
config.yaml  htpasswd  storage
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdacciocd storage
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdaccio/storagels
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdaccio/storagerm -rf  ui-test

其他:

verdaccio搭建npm私有源_kangkang-CSDN博客

使用verdaccio 搭建私有npm 服务器 - 简书 (jianshu.com)