使用Bubblewrap构建TWA版PWA时遭遇jarsigner ENOENT错误求助
解决Bubblewrap构建TWA时
spawn jarsigner ENOENT错误的排查方向 以下是针对该错误的具体排查和解决思路:
确认
jarsigner工具存在且JDK安装完整ENOENT错误表示系统找不到指定的可执行文件,首先检查配置的JDK路径下是否包含jarsigner:ls /usr/lib/jvm/default-java/bin/jarsigner如果输出显示文件不存在,说明当前JDK安装不完整(可能仅安装了JRE而非完整JDK),需要安装包含开发工具的JDK包(比如Debian/Ubuntu下的
openjdk-17-jdk)。将JDK的bin目录加入系统PATH
即使Bubblewrap识别到jdkPath有效,系统PATH可能未包含JDK的bin目录,导致无法直接调用jarsigner。临时添加路径测试:export PATH=$PATH:/usr/lib/jvm/default-java/bin之后重新执行
bubblewrap build,如果问题解决,可将该命令添加到~/.bashrc或~/.zshrc中永久生效。验证JDK路径的正确性
检查default-java软链接实际指向的JDK版本:readlink -f /usr/lib/jvm/default-java确认指向的是完整JDK而非JRE,若指向JRE,需通过
update-alternatives --config java切换到完整JDK。检查密钥库文件的路径和有效性
虽然构建时输入了密码,但如果密钥库文件不存在或路径错误,也可能触发相关异常。确认构建过程中指定的密钥库路径是否正确,文件是否存在且权限正常。尝试降级Node.js版本
Node.js 19属于非LTS版本,可能与Bubblewrap存在兼容性问题。使用nvm切换到LTS版本(如18.x)测试:nvm install 18 && nvm use 18
内容的提问来源于stack exchange,提问作者Edward Moffett
相关产品推荐
相关产品推荐

