# 使用 Homebrew, apk, MacPorts, Nix 安装 yj

查看 yj 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:yj
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install yj
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install yj
```

  证据: MacPorts ports tree: textproc/yj/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add yj
```

  证据: Alpine Linux edge package indexes: yj from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#yj
```

  证据: nixpkgs package indexes: pkgs/by-name/yj/yj/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:yj
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/yj>
- **版本:** 5.1.0
- **来源摘要:** CLI to convert between YAML, TOML, JSON and HCL
- **主页:** <https://github.com/sclevine/yj>
- **仓库:** <https://github.com/sclevine/yj>
- **许可证:** Apache-2.0
- **源码归档:** <https://github.com/sclevine/yj/archive/refs/tags/v5.1.0.tar.gz>
- **最后更新:** 2026-07-25T21:32:49+02:00
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- yj (cli)
- yj (别名)

## 构建依赖

- go

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 5.1.0
- 管理器更新时间: 2026-07-25
- 本地数据: OK
- 上游仓库: https://github.com/sclevine/yj
- 检测到的最新版本: v5.1.0 (当前)
## 项目历史与用法

yj is a Go command-line converter between YAML, TOML, JSON, and HCL. Its defining package-nerd feature is preserving map order across conversions, a detail that matters when config files need to remain readable or diffable.

### 项目历史

The project was published in March 2017 and reached v1.0 immediately. Its release line then expanded through v2.0 in 2018, v3 and v4 in 2019, and v5 in 2020-2022 as the supported format libraries and conversion semantics matured.

The v5.0.0 release notes mark the major turning point: conversions between all formats began preserving map order, TOML moved to a 1.0 release candidate, YAML moved to yaml.v3, and the maintainer noted that order preservation required manually parsing library ASTs. v5.1.0 updated TOML support to TOML 1.0.0 and adjusted the Go module path.

### 采用历史

yj is adopted by users who need shell-friendly data-format conversion without writing one-off scripts. The README documents Homebrew installation, release binaries for macOS, Linux, and Windows, a Docker image, and use as Go packages for converting data formats into ordered Go objects.

### 使用方式

The yj CLI reads from stdin and uses compact two-letter flags to choose source and destination formats, such as YAML to JSON, JSON to YAML, TOML to HCL, or HCL to JSON. It also includes options for JSON indentation, HTML escaping, YAML key parsing, and NaN/Inf handling.

### 为什么软件包爱好者会关心

yj matters because it lives in the config-file conversion niche where jq, yq, hcl tools, and ad hoc scripts overlap. For package catalogs, it is a clean example of a small executable that bridges infrastructure formats rather than owning one format ecosystem.

Order preservation is its standout detail: many converters can translate syntax, but fewer try to preserve human-authored map order across YAML, TOML, JSON, and HCL.

### 时间线

- 2017-03: Repository created and v1.0 released.
- 2018-06: v2.0 released.
- 2019-01: v3.0 and v3.1.0 released.
- 2019-05: v4.0.0 released.
- 2020-07: v5.0.0 adds map-order preservation across all formats.
- 2022-04: v5.1.0 updates TOML support to 1.0.0 and module path to v5.

### Related projects

- YAML, TOML, JSON, and HCL: the four formats yj converts among.
- jq and yq-style tools: neighboring command-line data transformation tools.
- HashiCorp HCL: infrastructure configuration format supported by yj.

### 来源

- <https://api.github.com/repos/sclevine/yj - repository creation date and description.>
- <https://api.github.com/repos/sclevine/yj/releases - release tags and publication dates.>
- <https://api.github.com/repos/sclevine/yj/releases/tags/v5.0.0 - order-preservation release notes.>
- <https://api.github.com/repos/sclevine/yj/releases/tags/v5.1.0 - TOML 1.0.0 and Go module path release notes.>
- <https://github.com/sclevine/yj - README describes supported formats, flags, installation, Docker image, and Go package use.>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** yj
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 其他软件包管理器记录

- Nix - yj: normalized package name match | nixpkgs package indexes: pkgs/by-name/yj/yj/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - yj - 1.2.4-r0: normalized package name match | Alpine Linux edge package indexes: yj from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Command line tool that converts YAML to JSON | https://github.com/bruceadams/yj
- MacPorts - yj: normalized package name match | MacPorts ports tree: textproc/yj/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 相关链接

- [Source-control packages](https://pkg.so/zh-hans/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://pkg.so/zh-hans/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/zh-hans/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://pkg.so/zh-hans/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [go](https://pkg.so/zh-hans/brew/go/) - Build dependency declared by Homebrew.
- [python-yq](https://pkg.so/zh-hans/brew/python-yq/) - Shares pkgdb curated category or tags: cli, data-conversion, developer-tools, json, toml.
- [remarshal](https://pkg.so/zh-hans/brew/remarshal/) - Shares pkgdb curated category or tags: cli, data-conversion, developer-tools, json, toml.
- [yq](https://pkg.so/zh-hans/brew/yq/) - Shares pkgdb curated category or tags: cli, developer-tools, json, toml, yaml.
- [dasel](https://pkg.so/zh-hans/brew/dasel/) - Shares pkgdb curated category or tags: cli, developer-tools, json, toml, yaml.
- [otree](https://pkg.so/zh-hans/brew/otree/) - Shares pkgdb curated category or tags: cli, developer-tools, json, toml, yaml.
- [jsongrep](https://pkg.so/zh-hans/brew/jsongrep/) - Shares pkgdb curated category or tags: cli, developer-tools, json, toml, yaml.
- [config-file-validator](https://pkg.so/zh-hans/brew/config-file-validator/) - Shares pkgdb curated category or tags: cli, developer-tools, json, toml, yaml.
- [libfyaml](https://pkg.so/zh-hans/brew/libfyaml/) - Shares pkgdb curated category or tags: cli, developer-tools, json, yaml.
- [dhall-toml](https://pkg.so/zh-hans/brew/dhall-toml/) - Local package facts share a topical domain. Shared terms: between, cli, conversion, convert, data.
- [dhall-yaml](https://pkg.so/zh-hans/brew/dhall-yaml/) - Both packages work with overlapping file formats or content types. Shared terms: between, cli, conversion, convert, data.

## Combined YAML source

View the package source record on GitHub. [combined/yj.yml](https://github.com/mxcl/pkgdb/blob/main/combined/yj.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
