rubickCenter / rubick

🔧 Electron based open source toolbox, free integration of rich plug-ins. 基于 electron 的开源工具箱,自由集成丰富插件。
https://rubickcenter.github.io/docs
MIT License
7.93k stars 807 forks source link

插件中心点击图床报undefined #38

Closed fuxingjun closed 2 years ago

fuxingjun commented 3 years ago

描述一下这个bug 插件中心点击图床报undefined

复现方式 windows系统

预期行为 清晰简明地描述了您预期的发生。

截图 如果可以,请添加屏幕截图以帮助解释您的问题。 image

muwoo commented 3 years ago

@fuxingjun 具体原因是用了 download 这个库,这个库依赖 decompress 这个库。decompress 这个库在windows解压压缩包里面的 node_modules 文件夹的时候通过的是这种方式:

if (x.type === 'symlink' && process.platform === 'win32') {
    return fsP.link(x.linkname, dest);
}

rubick 里面的一些插件是通过 npm 安装的 node_modules。npm 为了加速 node_nodules 的安装,所以使用了 smylink。但是windows上对 symlink 需要系统权限才可以执行 fs.link 或者 fs.symlink。这就导致了这次的报错。

后续解决方案: rubick 插件包从 npm install 换成 yarn 可解决。yarn 安装看了一下没有 smylink。但这个改动涉及所有 preload.js 依赖node_modules的插件,所以可能稍微推迟

muwoo commented 3 years ago

https://www.pilishen.com/posts/laravel-npm-install-syscall-symlink-error-reason-and-solution

muwoo commented 2 years ago

@fuxingjun rubick 2.0 已发布,修改了插件发布体系,更新改动文档和介绍可以参见:https://juejin.cn/post/7045190452340850701/