搭建自己的npm私服
序言:为什么用verdaccio搭建npm私有源?
- 因为是企业级项目,很多组件,方法都是内部使用,所以直接发布到npm公有源不安全;
- 以后的组件化,模块化,工程化,团队建设,都需要私有源配合;
- verdaccio比较简单,官方文档和文章都比较丰富
一、安装verdaccio
1、登录阿里云服务器 ssh root@xx.x.x
2、输入密码,成功后显示如下
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
三、在宝塔面板配置方向端口,使用pm2
管理面板来启动
UI配置文档见:Web 用户界面 | Verdaccio
image-20211222135537123
image-20211222135326684
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
使用: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
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/verdaccio$ ls
config.yaml htpasswd storage
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdaccio$ cd storage
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdaccio/storage$ ls
yg@iZ2zec61wsgbo9t9i346jbZ:~/.config/verdaccio/storage$ rm -rf ui-test