【问题标题】:Can't run "pod install" in jenkins无法在詹金斯中运行“pod install”
【发布时间】:2022-03-22 17:40:32
【问题描述】:

我的 Jenkins 从机是 Mac 10.8。 Jenkins 在我的从机上运行作业并在下面运行 cocoapods 的 shell 命令:

pod install 

并从 Jenkins 作业的控制台输出中得到错误,请检查以下内容:

pod: command not found

我尝试在这台从机的本地终端运行这个命令“pod install”并成功。

您能帮我解决这个问题吗?

谢谢。

【问题讨论】:

标签: macos jenkins cocoapods


【解决方案1】:

就我而言,我的 ruby​​ 是由 rvm 安装的。我需要加载 rvm 才能找到 pod 命令。

我所做的是在 jenkins 作业的开头添加这一行 #!/bin/bash -l

【讨论】:

  • 这对我也有用!我是 *nix 新手,你能解释一下这是做什么的吗?
  • Daniel:如果你在终端输入man bash,你会得到手册。在那里它说-l“使bash 表现得好像它已被作为登录shell 调用”。登录 shell 在 OP 的情况下工作,所以当从 jenkins 调用时它可以工作。
  • 这也适用于我的 npm ionic cordova 相关问题!我只是把它放在 Jenkins 执行 shell 的顶部。
  • 你拯救了我的一天!一次性修复:npm、ionic、cordova、pod、fastlane。
  • 这对我不起作用。仍未找到 Pod 命令。
【解决方案2】:

今天遇到了同样的问题,但两种解决方案都没有奏效。起作用的是更改安装命令。

/usr/local/bin/pod install

【讨论】:

  • 这对我有用!您可以找到该目录所在的位置:which -a pod
【解决方案3】:

运行 Jenkins 的用户似乎没有获得您可以从节点的命令外壳成功执行的 pod 命令的路径。您需要做的就是在 Node 的 configuration 页面中显式添加 PATH 变量中的路径。为此,Go to Jenkins > Manage Jenkins > Manage Nodes > Select the Node where your job is running > Click on Configure > Enable Node Properties。参考下面的截图:

只需在 PATH 变量中添加 pod 命令的路径即可。例如,如果 pod 命令存在于 /usr/bin 中,则在 name 字段中输入 PATH 并在 value 字段中输入 /usr/bin/:$PATH

我没有在 Mac 上工作过,但希望上面的命令也可以在那里工作。如果它不起作用,您可以将以下行放入运行 Jenkins 的用户的 $HOME/.bash_profile 文件中:PATH=path_to_pod:$PATH

你可以通过在命令行输入which pod来找到pod命令的路径。

【讨论】:

    【解决方案4】:
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    /usr/local/bin/pod install
    

    这对我有用

    【讨论】:

    • 这对我有用...谢谢
    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多