问题1:npm安装超时
统信项目npm安装时有时第三方依赖包会跳过本地的npm源代理,去官方下,由于无法访问导致install超时,失败
可以通过配置本机代理,翻墙解决,如果找不到linux的翻墙软件,那么通过其他电脑进行翻墙,然后将翻墙后电脑的代理地址暴露出来
如下
export https_proxy=172.xxx.xxx.xxx:xxxx
http_proxy=172.xxx.xxx.xxx:xxxx
all_proxy=socks5://172.xxx.xxx.xxx:xxxx
将该代理在统信终端中允许,该窗口就可以访问npm官方地址了,npm install没问题
问题2:electron-builder 安装报错
• application Linux category is set to default "Utility" reason=linux.category is not set and cannot map from macOS docs=<https://www.electron.build/configuration/linux>
⨯ cannot execute cause=exit status 1
errorOut=/home/hht/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin/ruby:行6: /home/hht/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin.real/ruby:无法执行二进制文件: 可执行文件格式错误
该问题是因为electron-builder引用的fpm模块默认x86_64架构,没有arm架构的包,需要自行下载
可以从系统源中安装ruby,然后使用gem来安装fpm,然后设置全局变量,使用系统fpm具体操作方法如下:
1.sudo apt update
2.sudo apt innstall ruby -y
3.ruby -v
查看是否安装成功ruby
4.sudo gem install fpm
稍等就会安装成功fpm
我在过程中报了dotenv问题报错
执行
sudo gem install dotenv -v 2.8.1
将"export USE_SYSTEM_FPM="true""配置到环境变量
sudo vim /etc/profile 打 开配置文件
键盘shift+i 打开编辑模式,然后添加export USE_SYSTEM_FPM="true"
键盘Esc 退出编辑
键盘:wq 保存文件,退出vim
source/etc/profile 使环境变量生效
在packjson 执行命令中 添加 export USE_SYSTEM_FPM=true
"scripts": {
"start": "node webpack/dev.runner.js",
"build:win": "node webpack/pack.builder.js && electron-builder --win",
"build:dir": "node webpack/pack.builder.js && electron-builder --dir",
"build:mac": "node webpack/pack.builder.js && electron-builder --mac",
"build:linux": "export USE_SYSTEM_FPM=true node webpack/pack.builder.js && electron-builder --linux",
"electron:generate-icons": "electron-icon-builder --input=./static/icon.png --output=build --flatten"
}