警告:这不是官方帖子,文中提到的方法也并不是官方给出的方法。
操作前请先备份koishi本体,操作发生的任何结果本人不负责。
文中给出的方法一目前还在测试中
在我们安装了不安全插件之后,可能会遇到无法安装任何插件,也无法卸载插件的情况。
例:
安装任何插件都是安装失败,删除也是,这是日志
此时koishi官方给出的解决方法是:双清。但是双清会损失全部数据,这对于一个配置好的bot来说无疑是灾难性的(所以记得定期备份),本文介绍两种办法来修复依赖错误。
方法一:重新安装全部npm包修复错误。
打开koishi文件夹(注意:不是koishi desktop文件夹),大致样子如下图
(你的文件可能比我的多或少,使用yarn的用户还会看到yarn.lock)
此时打开你的koishi,找到你安装的不安全插件的名称,复制,然后关闭koishi,打开当前目录中的package.json,会看到许多插件及其版本号
此处我假设jsonpath-plus是不安全插件,我需要将其所在的行删除
保存,回到koishi所在文件夹,删除package-lock.json,yarn.lock和node_modules整个文件夹,在当前文件夹打开控制台,输入
npm i
或
yarn install
等待安装完成后,控制台输入
npm start
或
yarn start
尝试启动koishi(此时koishi desktop可能无法启动koishi,原因本人暂不清楚)
方法二:手动复制文件
后续补充
2 个赞
提问咪~
为什么不使用
yarn remove koishi-plugin-jsonpath-plus
是remove不掉吗?
2 个赞
其实应该是 安装的某个插件删库, 在npm没有这个包,会导致koishi无法自行 安装/卸载 插件
安装 不安全插件 往往会导致 koishi 直接炸掉,启动不了
2 个赞
我没有尝试过在控制台remove,但是koishi里面此时是没法删除依赖的
2 个赞
没有试过,下次我试试,这个也是我前两天依赖炸了之后群友提示才发现的
2 个赞
如果有重要数据的话双清损失就比较大了,我本身准备写的方法二就是保留数据库和插件配置文件双清
2 个赞
在 koishi desktop 下,如何卸载坏坏插件
在一些时候,我们会遇到某些插件删库,npm包找不到的情况
具体表现为【版本获取失败】
在这种情况下, 再想 安装/更新 插件,日志就会有对应的报错
对于这种情况,我们需要移除掉这个坏掉的插件
例如上图就是需要卸载掉 @shangxueink/koishi-plugin-aaa
这个包
解决方法如下:
-
运行koishi desktop
-
打开终端
3. 输入命令
koi yarn -n [实例名称] remove [你想卸载的插件包名]
指令说明(重要!)
- 这里的
[实例名称]
是指你的 koishi desktop 下的实例文件夹的名称,具体有哪些呢,你可以在koishi图标这里看到
比如我就有两个实例,分别是 default
和 default2
,但我是 default2
实例下依赖有问题,所以使用的是 default2
在默认情况下,你需要使用的是 default
- 这里的
[你想卸载的插件包名]
是指插件的npm包名,而不是任何缩略名/别名
比如这里我的要卸载的包名就是 @shangxueink/koishi-plugin-aaa
所以我就需要输入的就是
koi yarn -n default2 remove @shangxueink/koishi-plugin-aaa
然后回车运行。
运行完成了咪
然后就可以 重启 koishi 查看是否依赖正常啦~
不出意外的话,这个插件就被移除掉了咪
4 个赞
koi yarn -n shangxue remote @brain
2 个赞