Jenkins macOS节点执行fastlane命令提示command not found求助
解决方案
1. 确认fastlane的实际路径
在用户X的交互式终端中执行以下命令,获取fastlane的绝对路径:
which fastlane
会得到类似 /Users/X/.rbenv/shims/fastlane 或 /usr/local/bin/fastlane 的输出。
2. 直接使用绝对路径执行fastlane
在Jenkins的Shell构建步骤里,用刚才得到的绝对路径替换fastlane命令,示例:
/Users/X/.rbenv/shims/fastlane your_lane_name
3. 修复非交互式Shell的环境变量
Jenkins通过SSH执行命令时使用的是非交互式Shell,默认不会加载~/.bash_profile这类登录Shell配置文件,导致PATH不包含fastlane的路径。可以通过两种方式解决:
- 将PATH的配置从
~/.bash_profile(bash环境)或~/.zprofile(zsh环境)移到~/.bashrc(bash)或~/.zshrc(zsh)中,非交互式Shell会加载这些文件; - 在Jenkins的Shell脚本开头手动加载配置文件,示例:
# bash环境 source ~/.bash_profile # zsh环境 source ~/.zshrc fastlane your_lane_name
4. 在Jenkins节点配置中添加环境变量
进入Jenkins该macOS节点的配置页面,找到「环境变量」区域,手动添加PATH变量:
- 变量名:
PATH - 变量值:
$PATH:/Users/X/.rbenv/shims(替换为步骤1中获取的fastlane所在目录)
内容的提问来源于stack exchange,提问作者George Vardikos
相关产品推荐
相关产品推荐

