news 2026/9/15 10:30:27

yq 如何在 Linux 上通过 wget 下载预编译二进制并安装到 PATH

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
yq 如何在 Linux 上通过 wget 下载预编译二进制并安装到 PATH

yq 如何在 Linux 上通过 wget 下载预编译二进制并安装到 PATH

【免费下载链接】yqyq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor项目地址: https://gitcode.com/GitHub_Trending/yq/yq

yq 是一个用 Go 编写的命令行处理器,支持 YAML、JSON、XML、CSV、TOML、HCL 和 properties 等格式。因为它以无依赖的独立二进制分发,在 Linux 上最简单的安装方式就是用 wget 把预编译二进制从 yq 的 release 页面拉下来,放到/usr/local/bin/yq。这篇文章只覆盖这一条安装路径:从选择平台架构、下载二进制,到确认yq命令可以直接在终端运行,并跑通第一条查询语句。

前提条件:系统已安装wgettarchmod可用;目标目录/usr/local/bin需要 root 权限写入(README 中的示例命令使用sudo)。

选择平台与架构

README 的 wget 安装一节要求先确定平台与架构,文档列出的可用平台值如下:

linux_amd64linux_arm64linux_armlinux_386darwin_amd64darwin_arm64windows_amd64windows_386等。

在 Linux 上按 CPU 选择:64 位 x86 用linux_amd64,ARM 64 位用linux_arm64,其余按文档列表对照选择。下文主路径以最常见的linux_amd64为例。

下载并安装最新版本(主路径)

README 给出的最新版本(Linux AMD64)命令是:

wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq &&\ chmod +x /usr/local/bin/yq

这条命令做两件事:

  • wget ... -O /usr/local/bin/yq把 release 页面的latest原始二进制直接写入/usr/local/bin/yq,需要 root 权限;如果该路径已存在 yq,此命令会覆盖旧文件。
  • chmod +x /usr/local/bin/yq为该二进制添加可执行权限。

如果你的机器不是 AMD64 架构,把 URL 中的yq_linux_amd64换成对应平台的二进制名(如yq_linux_arm64)。

下载并安装指定版本(可选分支)

需要固定版本时,使用带${VERSION}${PLATFORM}变量的命令。两个变量先按你的目标设置——README 中的示例值为VERSION=v4.2.0,注释明确写着 "adjust as needed"(按需调整);当前仓库代码中声明的版本是v4.53.6(见 cmd/version.go),固定哪个版本以 release 页面实际发布为准。

# Set your platform variables (adjust as needed) VERSION=v4.2.0 PLATFORM=linux_amd64 # Download compressed binary wget https://github.com/mikefarah/yq/releases/download/${VERSION}/yq_${PLATFORM}.tar.gz -O - |\ tar xz && sudo mv yq_${PLATFORM} /usr/local/bin/yq # Or download plain binary wget https://github.com/mikefarah/yq/releases/download/${VERSION}/yq_${PLATFORM} -O /usr/local/bin/yq &&\ chmod +x /usr/local/bin/yq

两种子方式的区别:

  • 压缩包方式:-O -让下载内容直接送入tar xz解压,当前目录会多出解压出的yq_${PLATFORM}文件,随后sudo mv把它移动到/usr/local/bin/yq
  • 原始二进制方式:与主路径相同,只是 URL 从latest换成了具体版本号。

验证安装成功

第一步验证命令可用。README 的参数表中-V, --version的说明是 "Print version information and quit"(打印版本信息并退出):

yq --version

能打印出 yq 的版本信息并退出,说明二进制已就位且可执行。

第二步做一次真实的查询验证。仓库的验收测试 acceptance_tests/basic.sh 中testBasicEvalRoundTrip使用的流程是:

yq -n ".a = 123" > test.yml yq '.a' test.yml

-n表示不读输入、只计算给定表达式,第一条命令生成内容为a: 123的测试文件;第二条命令读取.a。验收测试断言该命令的输出是123,如果得到同样输出,说明安装后的 yq 可以正常解析 YAML 文件。

安装完成后即可使用 README 快速上手部分的基本操作,例如读取值yq '.a.b[0].c' file.yaml,或就地更新文件yq -i '.a.b[0].c = "cool"' file.yaml

可选:用校验和核对下载文件

如果你需要核对下载文件的完整性,仓库提供了 scripts/extract-checksum.sh,它从 release 附带的checksumschecksums_hashes_order两个文件中提取指定算法的校验和,供你偏好的校验工具使用。前提是先从对应 yq 版本的 release 页面下载这两个文件,且当前目录中存在它们,否则脚本会直接报错退出。

用法与文档头注释中给出的 rhash 组合示例:

# <HASH-ALG> 取 checksums_hashes_order 中登记的算法名,例如 SHA-256 ./extract-checksum.sh SHA-256 yq_linux_amd64.tar.gz | rhash -c -

脚本输出形如yq_linux_amd64.tar.gz acebc9d0...(文件名 + 校验和),这里的值只是文档中的示例格式,实际值随版本变化。需要校验的是哪个文件,就把yq_linux_amd64.tar.gz换成你实际下载的文件名;原始二进制(非 tar.gz)则传入对应的原始二进制名。

限制说明

  • 本文只覆盖 Linux 上 wget 直装这一条路径;平台值以文档列表和 release 页面实际产物为准,列表以 "等" 结尾,未列全。
  • README 中的VERSION=v4.2.0仅为文档示例版本,不要照抄当作当前最新号使用;最新版本直接用latest/download路径。
  • 其他安装方式(Homebrew、snap、Docker/Podman、go install 等)同样见 README.md 的 Install 章节,但不属于本文场景,此处不展开。

【免费下载链接】yqyq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor项目地址: https://gitcode.com/GitHub_Trending/yq/yq

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 10:29:30

Java类型转换实战:处理带单位字符串的工业级方案

1. 项目概述&#xff1a;当Integer遇上"12.5kg"的魔幻现实上周五深夜11点&#xff0c;我的企业微信突然被十几条报警信息轰炸。打开日志一看&#xff0c;某个核心业务模块的失败率飙升到47%。追查下去&#xff0c;发现是第三方物流系统返回的"12.5kg"字符串…

作者头像 李华
网站建设 2026/9/15 10:26:29

基于Java的民宿管理系统:从订单防超卖到并发控制的实战解析

简介&#xff1a;这份基于Java语言的民宿管理系统设计源码&#xff0c;面向有一定Java基础的开发者、毕业设计学生或中小型民宿业务管理者&#xff0c;用于理解民宿预订、房间管理、用户权限等核心模块的开发思路。压缩包共225个文件&#xff0c;大小33.57MB&#xff0c;其中包…

作者头像 李华
网站建设 2026/9/15 10:26:23

PLL相位噪声Matlab仿真与工程实践指南

1. 锁相环相位噪声仿真概述在射频电路和通信系统设计中&#xff0c;锁相环(PLL)的相位噪声性能直接影响整个系统的信号质量。作为频率合成器的核心部件&#xff0c;PLL的相位噪声会通过混频、倍频等操作传递到系统输出端。Matlab仿真成为工程师在物理实现前评估PLL性能的重要工…

作者头像 李华
网站建设 2026/9/15 10:23:56

光伏MPPT算法:三种步长策略的工程实践解析

1. 光伏MPPT算法的"渣男式"追光策略解析光伏发电系统里那个整天追着太阳跑的MPPT&#xff08;最大功率点跟踪&#xff09;算法&#xff0c;活脱脱就是个现实版的"渣男追女神"现场。这算法得时刻盯着光伏板的功率曲线变化&#xff0c;像极了渣男揣摩女神心思…

作者头像 李华