jq 是否已安装并在 PATH 上可用?

Is jq installed and available on PATH?

我正在尝试读取 gitlab 中的一个 yaml 文件 CI。我在我的 CI 作业中使用 pip 安装了 jq==1.0.2yq==2.10.1,并且我使用 python:3.7 图像。当我尝试读取 yaml 文件时,出现错误

yq: Error starting jq: FileNotFoundError: [Errno 2] No such file or directory: 'jq': 'jq'. Is jq installed and available on PATH?

我的 yaml 文件没有调用 jq,我的提交中确实有这个 yaml 文件。我可以做 which yq,当我做 which jq 时,CI 作业失败了。有人知道吗?

您的 jq 安装不太正确。您的版本信息 jq==1.0.2 表明您已经安装了 python 包 jq - https://pypi.org/project/jq/ 这与安装的可执行二进制文件 jq 不同。在调用 yq 工具之前,您需要安装可执行文件。

由于 yqPATH 中查找 jq 二进制文件的可用性,但没有找到,您会收到运行时错误,指示不存在。修复将设置您的 CI 以从 https://stedolan.github.io/jq/download/

中提到的步骤之一下载 jq 二进制文件

运行 sudo apt-get install jq 不是 pip3 install jq.