We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
之前一直用自己安装的picgo,发现有picgo插件后立刻来试下,但安装s3耗费我一下午的时间,下面说下问题和排查思路:
安装s3提示我“npm 命令执行异常 =>Error: Node安装失败”,如下图,导致无法安装s3
但我本地是有nodejs的,所以哪里出现了问题?
报错有点莫名奇妙,我首先想到可以查看执行日志,不过我在插件的目录下面没有找到有用的日志文件
没有日志文件,我就只能打开控制台看一眼,所幸发现了不少有用的信息:
可以看到上面提示node不存在,所以才准备安装node,然后安装node的时候又失败了
我的node是可以通过命令行调用的,为啥会没找到node呢?翻了翻,发现如下代码:
红框中的应该就是“Node环境不存在,准备安装Node”,上面有个if判断,说是“nodeCurrentBinFolder”不存在
那么“nodeCurrentBinFolder”到底是哪个路径呢?点进去发现这段代码:
根据上下文推断,路径应该是之前报错里面的“D:\Users\xxx\AppData\Roaming\siyuancommunity\node”的下两层
哦,原来是这里发现没有node,那我确实没有把node安装到这里,ok,可以重新安装node
之后安装node的时候报错了,这又是为啥呢?上面报错的图中提到了日志在“D:\Users\xxx\electron-command-log.txt”中,打开发现:
文件有编码问题,切换编码后得出:
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了吧?然而现实狠狠的打了我的脸,还是不行。再次查看代码后,我发现了华点,还是路径不对
代码中这里很奇怪,在找bin路径,但这一层并没有bin,那bin在哪里呢?
这里的代码想法应该是想用npm来安装s3,那么bin应该就是npm的bin,我将“node_modules\npm\bin”复制了过来
你猜怎么着?
看来这就是真正的原因
The text was updated successfully, but these errors were encountered:
非常感谢您的耐心排查,我的开发环境是 mac,所以 windows 没有经过充分测试。后续我会加强 windows 的测试和适配工作。
Sorry, something went wrong.
No branches or pull requests
之前一直用自己安装的picgo,发现有picgo插件后立刻来试下,但安装s3耗费我一下午的时间,下面说下问题和排查思路:
问题
安装s3提示我“npm 命令执行异常 =>Error: Node安装失败”,如下图,导致无法安装s3
但我本地是有nodejs的,所以哪里出现了问题?
排查思路
报错有点莫名奇妙,我首先想到可以查看执行日志,不过我在插件的目录下面没有找到有用的日志文件
没有日志文件,我就只能打开控制台看一眼,所幸发现了不少有用的信息:
可以看到上面提示node不存在,所以才准备安装node,然后安装node的时候又失败了
我的node是可以通过命令行调用的,为啥会没找到node呢?翻了翻,发现如下代码:
红框中的应该就是“Node环境不存在,准备安装Node”,上面有个if判断,说是“nodeCurrentBinFolder”不存在
那么“nodeCurrentBinFolder”到底是哪个路径呢?点进去发现这段代码:
根据上下文推断,路径应该是之前报错里面的“D:\Users\xxx\AppData\Roaming\siyuancommunity\node”的下两层
哦,原来是这里发现没有node,那我确实没有把node安装到这里,ok,可以重新安装node
之后安装node的时候报错了,这又是为啥呢?上面报错的图中提到了日志在“D:\Users\xxx\electron-command-log.txt”中,打开发现:
文件有编码问题,切换编码后得出:
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 才是支持的存档文件格式。
原来是格式不对,导致解压出错了,我自己解压不就好了?解压得到如下目录:
这下总应该能安装s3了吧?然而现实狠狠的打了我的脸,还是不行。再次查看代码后,我发现了华点,还是路径不对
代码中这里很奇怪,在找bin路径,但这一层并没有bin,那bin在哪里呢?
这里的代码想法应该是想用npm来安装s3,那么bin应该就是npm的bin,我将“node_modules\npm\bin”复制了过来
你猜怎么着?
s3安装好了!!!
看来这就是真正的原因
需求建议
The text was updated successfully, but these errors were encountered: