我正在尝试更新GitHub CI中Linux VM中的路径变量。
我尝试的是:
export PATH="${PATH}:$ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools/bin"
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools/bin:$PATH
但似乎没有什么工作,因为当我尝试echo
时,它没有返回我所期望的结果。它列出的是:
/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
它应该包含(或至少包含这样的内容):
/usr/lib/android-sdk/cmdline-tools/cmdline-tools/bin
完整作业详细信息:https://github.com/maifeeulasad/unmukto/actions/runs/3590283087/jobs/6043518013
1条答案
按热度按时间raogr8fs1#
它 * 确实 * 会被添加到
$PATH
中,但你不能在后续步骤中使用它,因为GitHub操作会将步骤彼此隔离。如果你在更新$PATH
的同一个步骤中运行sdkmanager --version
,它就可以工作。使用GitHub操作语法添加一个系统路径到$PATH
中,并在作业的其余步骤中保持它:在系统PATH变量前面添加一个目录,并自动使其可用于当前作业中的所有后续操作;当前运行的操作无法访问更新的路径变量。
使用
$GITHUB_PATH
的build.yml
的缩写版本:还要注意,它不是将
export
添加到ANDROID_SDK_ROOT
中,而是添加到$GITHUB_ENV
中,并在后续步骤中使用${{ env.ANDROID_SDK_ROOT}}
进行访问。