fastlane:从 launchtl 作业 运行 时找不到命令

fastlane: command not found when running from launchtl job

您好,我进行了一个集成,以使用 fastlane 创建一个 IOS 项目的构建。一切都按预期工作,除了我尝试使用 launchctl 在我的 Mac 计算机上启动脚本以 运行 fastlane 命令。当我 运行 作业时,出现以下错误:

/Users/hugoaguero/Documents/acct/branding/usfed/ios/scripts/test.sh: line 2: fastlane: command not found

这发生在我的测试脚本中的以下两行(部署是我在 fastfile 文件上创建的通道):

cd ~/Documents/acct/branding/usfed/ios/
fastlane deploy

我的 pList 文件位于 LaunchAgent 文件夹中。这是 pList 文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.zerowidth.launched.grobankingbuild</string>
    <key>ProgramArguments</key>
    <array>
        <string>sh</string>
        <string>-c</string>
        <string>/Users/hugoaguero/Documents/acct/branding/usfed/ios/scripts/test.sh</string>
    </array>
    <key>StandardErrorPath</key>
    <string>/tmp/com.zerowidth.launched.grobankingbuild.err</string>
    <key>StandardOutPath</key>
    <string>/tmp/com.zerowidth.launched.grobankingbuild.out</string>
    <key>StartInterval</key>
    <integer>300</integer>
</dict>
</plist>

如果我 运行 通常从终端执行命令,它会毫无问题地执行。唯一的问题是当它 运行 离开工作时。

我是 terminal/Unix 的新手,我认为这应该很容易解决,但需要尽快解决。请帮忙。

从命令行获取 fastlane 可执行文件的完整路径:

which fastlane 

并用上面命令显示的完整(绝对)路径替换脚本中的 fastlane