前言
本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。
准备工作
安装 verdaccio npm install --global verdaccio
。
启动 verdaccio verdaccio
。
启动之后Ctrl + C
停止服务。
然后把config.yaml
给复制到我们的目录下,再把它生成的配置全删了。
copy "C:\Users\YourName\AppData\Roaming\verdaccio\config.yaml" .
rmdir "C:\Users\YourName\AppData\Roaming\verdaccio"
- A
再次启动 verdaccio verdaccio
,看到配置变成我们的目录就OK了。
仓库保存
为了方便部署,我们可以把这个仓库作为一个git
仓库来进行管理,然后上传到自己的私有仓库。下次在别的机器上使用只需要git clone
一下仓库到本地然后在仓库目录启动verdaccio就行,比如经典。Github
当网盘用
git init
git add .
git commit -m "Initialize repository"
再添加一个脚本(RunVerdaccio.bat
),用来启动verdaccio。
@echo off
verdaccio
然后把这个脚本右键发送到桌面快捷方式,需要的时候双击启动岂不美哉。
再把RunVerdaccio.bat
提交一下就大功告成了。
git add .
git commit -m "Add RunVerdaccio.bat"
使用
先登录一下本地仓库,只需第一次使用的时候配置一下就行了。
npm login --registry http://localhost:4873/
这里账号密码随便填就好了。npm whoami --registry http://localhost:4873/
看到是自己刚才填的账号名就OK了。
去别的地方新建一个测试用的包
mkdir npm-test
cd npm-test
npm init -y
然后直接把这个包提交到本地仓库,注意要加上--registry
参数,不然会默认提交到NPM官方仓库。
npm publish --registry http://localhost:4873/
提交成功后我们在浏览器打开http://localhost:4873/
,可以看到我们刚才提交的包。
使用这个包时在参数列表加上--registry
指定本地仓库即可。
npm install npm-test --registry http://localhost:4873/
最后如果我们不再需要这个包了可以把它删除掉。
npm unpublish --force npm-test --registry http://localhost:4873/
这样子本地仓库的记录中就没有这个包了。
更方便的使用
为了不用每次都要加--registry
参数,我们可以用npm scope的方式来解决这个问题。
npm config set @bzi-han:registry http://localhost:4873/
这里@bzi-han
是我的用户名,你也可以换成自己的或是任何的比如@local
什么的,后面我们发布的包都要按照相应的名称的目录层级去发布。
比如我这有个unrealengine-rd
的包,它的目录层级就是
package-folder
└─@bzi-han
└─unrealengine-rd
└─package.json
然后你的package.json
文件中的name也就是包名也要以@bzi-han/unrealengine-rd
的形式去写。
发布的时候只需要在package.json的目录
npm publish
取消发布
npm unpublish @bzi-han/unrealengine-rd --force
取消发布这个包npm unpublish --force
取消发布当前版本
使用
npm install @bzi-han/unrealengine-rd
Yarn
其实操作都一样的,我就不演示了,只把命令列出来。
yarn login --registry http://localhost:4873/
yarn config set @bzi-han/registry http://localhost:4873/
yarn publish
yarn add @bzi-han/unrealengine-rd
结语
必须狠狠的喷一下Yarn没有unpublish
,这个还是通过NPM吧。
那就这样了,有缘再见~