Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows安装s3插件失败,报“Node安装失败”错误 #422

Open
yanareat opened this issue Apr 26, 2024 · 1 comment
Open

windows安装s3插件失败,报“Node安装失败”错误 #422

yanareat opened this issue Apr 26, 2024 · 1 comment
Labels
bug Something isn't working development-plan

Comments

@yanareat
Copy link

之前一直用自己安装的picgo,发现有picgo插件后立刻来试下,但安装s3耗费我一下午的时间,下面说下问题和排查思路:

问题

安装s3提示我“npm 命令执行异常 =>Error: Node安装失败”,如下图,导致无法安装s3

image

但我本地是有nodejs的,所以哪里出现了问题?

排查思路

报错有点莫名奇妙,我首先想到可以查看执行日志,不过我在插件的目录下面没有找到有用的日志文件

没有日志文件,我就只能打开控制台看一眼,所幸发现了不少有用的信息:

image

可以看到上面提示node不存在,所以才准备安装node,然后安装node的时候又失败了

我的node是可以通过命令行调用的,为啥会没找到node呢?翻了翻,发现如下代码:

image

红框中的应该就是“Node环境不存在,准备安装Node”,上面有个if判断,说是“nodeCurrentBinFolder”不存在

那么“nodeCurrentBinFolder”到底是哪个路径呢?点进去发现这段代码:

image

根据上下文推断,路径应该是之前报错里面的“D:\Users\xxx\AppData\Roaming\siyuancommunity\node”的下两层

哦,原来是这里发现没有node,那我确实没有把node安装到这里,ok,可以重新安装node

之后安装node的时候报错了,这又是为啥呢?上面报错的图中提到了日志在“D:\Users\xxx\electron-command-log.txt”中,打开发现:

image

image

文件有编码问题,切换编码后得出:

Error: Command failed: powershell Expand-Archive -Path D:\Users\xxx\AppData\Roaming\siyuancommunity\node\node-v18.18.2.tar.gz -DestinationPath D:\Users\xxx\AppData\Roaming\siyuancommunity\node\current

Expand-Archive : .gz 不是支持的存档文件格式。只有 .zip 才是支持的存档文件格式。

原来是格式不对,导致解压出错了,我自己解压不就好了?解压得到如下目录:

$ tree -dL 3
.
`-- node_modules
    |-- corepack
    |   |-- dist
    |   `-- shims
    `-- npm
        |-- bin
        |-- docs
        |-- lib
        |-- man
        |-- node_modules
        `-- tap-snapshots

11 directories

这下总应该能安装s3了吧?然而现实狠狠的打了我的脸,还是不行。再次查看代码后,我发现了华点,还是路径不对

image

代码中这里很奇怪,在找bin路径,但这一层并没有bin,那bin在哪里呢?

这里的代码想法应该是想用npm来安装s3,那么bin应该就是npm的bin,我将“node_modules\npm\bin”复制了过来

你猜怎么着?

s3安装好了!!!

看来这就是真正的原因

需求建议

  • 解决上面windows的问题
  • 我使用时还会再添加一个压缩图片的插件(tinypng),现在显示不兼容,应该是picgo版本太低了吧?希望升级支持一下
  • 写这篇issue的时候发现,7张图片本地连接只替换了1张,辛苦修复一下这个bug
@terwer
Copy link
Owner

terwer commented Jun 4, 2024

非常感谢您的耐心排查,我的开发环境是 mac,所以 windows 没有经过充分测试。后续我会加强 windows 的测试和适配工作。

@terwer terwer added bug Something isn't working development-plan labels Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working development-plan
Projects
None yet
Development

No branches or pull requests

2 participants