Manjaro已装Azure CLI 启动SpringBoot报未安装错误
问题根因
这个报错和Azure CLI是否实际安装无关,核心原因是执行bootRun的Java进程无法在当前环境的PATH变量中找到az可执行文件:
- Manjaro桌面环境下从启动器图标打开IntelliJ IDEA时,IDE不会加载bash/zsh等终端shell中配置的环境变量,Azure Identity SDK探测az路径时直接返回找不到
- 1.4.0版本以下的
azure-identity依赖在Linux平台存在路径探测硬编码缺陷,无法识别部分发行版下az的默认安装路径
可落地方案
按优先级尝试,绝大多数场景第一种方案就能解决:
- 快速验证方案:关闭当前IntelliJ窗口,打开终端进入项目根目录,执行
idea .(社区版)/idea-ultimate .(旗舰版)从终端启动IDE,IDE会完整继承终端的PATH配置,直接识别到az命令,重新执行bootRun即可正常启动。 - 永久配置方案:
- 终端执行
which az获取az的安装路径,Manjaro下pacman默认安装的路径为/usr/bin/az,提取其上级目录/usr/bin - 打开IntelliJ里对应的bootRun运行/调试配置,找到环境变量配置项,新增条目
PATH=/usr/bin:$PATH(替换为你自己实际查到的az上级目录) - 保存配置后重启应用即可
- 终端执行
- 依赖修复方案:如果上述操作无效,检查项目
build.gradle中com.azure:azure-identity的版本,低于1.4.0直接升级到1.4.0及以上,修复Linux平台路径探测bug。
校验方法
如果需要确认配置是否生效,可以在SpringBoot启动类main方法最前端加一行打印逻辑:
System.out.println(System.getenv("PATH"));
启动后检查控制台输出的PATH内容,包含az所在目录即说明配置正确。
内容的提问来源于stack exchange,提问作者Julián Carvajal Montoya
相关产品推荐
相关产品推荐

