You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions的Linux虚拟机中更新PATH环境变量

GitHub CI Linux虚拟机中PATH环境变量更新失败的解决办法

我在GitHub CI的Linux虚拟机里尝试更新PATH环境变量,先后用了以下两条命令:

  • export PATH="${PATH}:$ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools/bin"
  • export PATH=$ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools/bin:$PATH

但都没生效,执行echo $PATH查看结果,输出如下:

/home/runner/.local/bin
/opt/pipx_bin
/home/runner/.cargo/bin
/home/runner/.config/composer/vendor/bin
/usr/local/.ghcup/bin
/home/runner/.dotnet/tools
/snap/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

预期PATH里应该包含/usr/lib/android-sdk/cmdline-tools/cmdline-tools/bin这个路径。

排查方向与解决方法

1. 先确认ANDROID_SDK_ROOT变量是否有效

GitHub CI里这个变量不一定默认正确设置,先在CI步骤里加一句echo $ANDROID_SDK_ROOT,如果输出为空,说明变量没定义,直接用实际路径替换即可:

export PATH="/usr/lib/android-sdk/cmdline-tools/cmdline-tools/bin:$PATH"

要是不确定实际路径,用查找命令定位:

find / -name "cmdline-tools" 2>/dev/null

2. 解决CI步骤的环境隔离问题

GitHub CI的每个步骤都是独立的shell环境,单步骤里export的变量不会带到下一个步骤。要让PATH全局生效,得把变量写入GitHub的环境变量文件:

echo "PATH=/usr/lib/android-sdk/cmdline-tools/cmdline-tools/bin:$PATH" >> $GITHUB_ENV

这样后续所有步骤的PATH都会包含这个路径。

3. 检查路径层级是否正确

你写的路径里重复了cmdline-tools,实际SDK目录结构可能是$ANDROID_SDK_ROOT/cmdline-tools/latest/bin,先查看目录结构确认:

ls -la $ANDROID_SDK_ROOT/cmdline-tools/

如果确实是latest目录,就把命令改成:

export PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH"

内容的提问来源于stack exchange,提问作者Maifee Ul Asad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:10:22