dshmarket-update-helper
Manifest valid
DSH 插件市场更新助手
为了解决插件市场不能更新自己的问题,我们决定再安装一个插件。
这是什么东西
事情是这样的。
有一天我打开 DSH 插件市场,看见「更新插件市场」
然后市场更新到一半,把自己卸载了。
插件市场:在更新前,我要先把旧的我卸载掉。
我:嗯嗯,然后呢?
插件市场:棍母
我:?
于是,这个插件诞生了。
它不是什么智能插件。它只负责把旧的插件市场卸载,然后把新的插件市场装上去。
插件市场负责逛街,更新助手负责更新市场,分工明确。
本项目针对的是
dshmarket的这类更新场景,不代表所有版本或所有 DSH 部署都有这个问题。哪天市场自己修好了,这个插件就可以光荣退休~
怎么用
打开:
设置 → 市场更新助手 → 更新插件市场
点击,然后等。
检查 npm 最新稳定版
↓
已经最新?那就下班。
↓ 不是
卸载旧版市场(助手:我还在)
↓
安装新版市场(助手:我真的还在)
↓
核对版本,汇报结果
需要重启时会告诉你,不会突然替你把 DSH 关了。毕竟我们是更新助手,不是重启助手。
安装
从 npm 安装(包发布后)
在 DSH 自带的插件管理界面,使用包名安装:
dshmarket-update-helper
也可以让 DSH 里的 Agent 帮忙:
请使用 plugin_manager 安装 bundle:dshmarket-update-helper。
从源码安装
把项目下载到本地,在 DSH 插件管理器中将项目目录的绝对路径作为本地 bundle 安装。
本地安装可能直接引用该目录,装完别把源码删了。
❓ 常见灵魂拷问
为什么为了更新一个插件,还要安装另一个插件?
因为插件不能在把自己卸载之后,继续努力工作。
所以有了这个朴素的想法。
那这个更新助手以后怎么更新?
它不像插件市场那样自己更新自己,原则上可以由市场或 DSH 自带的插件管理器处理。
暂时没有开发「市场更新助手更新助手」的想法。
嗯,暂时。
已经是最新版,点了会怎样?
检查一下,然后告诉你不用更新。
放心,不会为了证明自己的价值,先把插件市场卸了再装回来。
更新失败怎么办?
看助手里的「操作详情」。如果旧版恢复成功,会明确显示;如果恢复也失败,请使用 DSH 自带的插件管理器重新安装 dshmarket。
别去找已经被卸载的市场帮你装市场。我们就是为了打破这个循环才来的。
市场以后没有这个问题了怎么办?
卸载本插件,然后祝它前程似锦。
毕竟一个好补丁的终点,是不再需要这个补丁 ⦁ ⩊ ⦁
开发
没有额外运行时依赖,没有构建步骤。项目的复杂度主要集中在「为什么需要这个东西」上。
npm test
也可直接运行检查:
node --check index.js
node --check client.js
node test/updater.test.js
上传与发布
GitHub 上传、npm 发布和以后怎么升版本,见 发布指南。
当前版本为 1.0.1,页面里的版本从包清单读取;以后改包版本即可,不需要手动修改 UI 数字。
致谢
感谢 DSH 提供插件机制与插件管理器。
感谢 dshmarket 让大家装插件更方便,也意外给本项目提供了一个极其具体的就业岗位。
本项目是独立的小工具,不是 DSH 或 dshmarket 官方项目。调侃的是更新时的技术困境,不是辛苦维护项目的人。
插件市场:我要更新我自己 ᗜ ˰ ᗜ
更新助手:把那个命令行停下,我来 >﹏<
Comments
Loading…