SwitchHosts icon indicating copy to clipboard operation
SwitchHosts copied to clipboard

[BUG REPORT] npm run build:main 出错

Open RimuruW opened this issue 3 years ago • 11 comments

System (Mac, Windows 7/8/10, Linux) / 操作系统

Arch Linux

SwitchHosts! Version / SwitchHosts! 版本

v4.0.3

Description / 描述

npm run build:main 出错

[0] webpack 5.51.1 compiled with 38 errors and 1 warning in 30831 ms
[0] npm run build:main exited with code 1

更为详细的编译日志

npm_build.log

How to reproduce / 重现步骤

cd SwitchHosts
npm install
npm run build # 报错步骤
npm run make # 因上一步报错,这一步未执行

RimuruW avatar Aug 23 '21 00:08 RimuruW

另外,如果这个报错属于正常现象,我能不能简单地使用 npm run build || true 来忽略它

RimuruW avatar Aug 23 '21 00:08 RimuruW

这次更新了很多依赖,有没有试过 rm -rf node_modules && npm install 再 build ?

oldj avatar Aug 23 '21 01:08 oldj

所有依赖都是新安装的,没有 node_modules 之类的文件夹

RimuruW avatar Aug 23 '21 01:08 RimuruW

应该是新添加的 mfsu 配置有一点问题。

可以先执行一次 npm run dev 生成相关文件,等执行完成按 Ctrl + C 退出,再执行 npm run build ,应该就可以了。

oldj avatar Aug 23 '21 02:08 oldj

我这次编译时为了打包 Arch Linux AUR 使用的 PKGBUILD,脚本怎么中止 npm run dev 啊😂😂

RimuruW avatar Aug 23 '21 03:08 RimuruW

刚刚测试了一下,运行 npm run dev 也会在 webpack 出现相同的报错,npm run build 依然出错。

以上操作均为全新安装。

RimuruW avatar Aug 23 '21 03:08 RimuruW

构建脚本有一些问题。试一试 develop 分支,刚刚提交了一些更改,应该可以 npm run build 了。

oldj avatar Aug 23 '21 04:08 oldj

已经可以 build 和 make 了,感谢处理。

另外再请教一下 npm run make 怎么自定义输出文件类型。我修改了一下 make.js 发现没有任何变化,npm run make 还是只能生成 appimage:x64snap:x64 类型的文件,而且我并没有在 make.js 中找到 snap 字样。

(不太了解 JavaScript,抱歉 :joy: )

RimuruW avatar Aug 23 '21 05:08 RimuruW

就是修改 make.jsTARGET_PLATFORMS_configs.all 的内容,把你不需要的类型注释掉,或者添加新的类型。

支持的类型可以见 这个页面target 字段。

按理应该只会生成指定的类型?我这儿生成的文件中就没有 snap 类型。😂

oldj avatar Aug 23 '21 08:08 oldj

这里是不是多了一个空格? 图片

以及,TARGET_PLATFORMS_configs 能不能也单独给 linux 一个位置,夹在 macwin 之间的小企鹅好卑微 :no_mouth:

RimuruW avatar Aug 23 '21 10:08 RimuruW

那个空格应该不要紧,只是自动格式化时加上的。

make.js 里的 TARGET_PLATFORMS_configs.all.linux 里的就是 Linux 系统的导出格式列表,现在只有 TARGET_PLATFORMS_configs.all 被用到,TARGET_PLATFORMS_configs.macTARGET_PLATFORMS_configs.win 等几项是之前测试时加上的,并不在使用。

oldj avatar Aug 24 '21 14:08 oldj