# 使用 Homebrew, apk, apt, MacPorts, Nix, pacman, zypper, scoop, winget 安装 xh

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

## 安装

```sh
sudo av install brew:xh
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install xh
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xh
```

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

### Linux

- apk (92%):

```sh
sudo apk add xh
```

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

- Debian apt (92%):

```sh
sudo apt install xh
```

  证据: Debian stable package indexes: xh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#xh
```

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

- pacman (92%):

```sh
sudo pacman -S xh
```

  证据: Arch Linux sync databases: xh from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install xh
```

  证据: openSUSE Tumbleweed package metadata: xh from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/xh
```

  证据: Scoop official bucket manifest trees: bucket/xh.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id ducaale.xh -e
```

  证据: Windows Package Manager source index: ducaale.xh from https://cdn.winget.microsoft.com/cache/source.msix

## 软件包事实

- **软件包键:** brew:xh
- **软件包管理器:** Homebrew
- **版本:** 0.26.2
- **来源摘要:** Friendly and fast tool for sending HTTP requests
- **主页:** <https://github.com/ducaale/xh>
- **仓库:** <https://github.com/ducaale/xh>
- **最后更新:** 2026-07-26T15:43:32Z
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- xh (别名)
- xhs (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 0.26.2
## 项目历史与用法

xh is a Rust command-line HTTP client that deliberately follows HTTPie's human-friendly request syntax while focusing on speed, portability, and a single-binary feel. It ships the `xh` command for ordinary requests and commonly also `xhs` for HTTPS-first invocation.

### 项目历史

The GitHub repository was created on 2020-09-10. From its README, the central project premise has been stable: reimplement as much as possible of HTTPie's design, but with improved performance. That places xh in a specific generation of Rust CLI rewrites that kept beloved command-line UX while replacing heavier runtimes with compiled binaries.

The tool grew into a broad HTTP client rather than a minimal curl wrapper. Its documented options cover JSON/form/multipart bodies, pretty output, auth modes, sessions, redirects, downloads, proxies, TLS settings, HTTP/2 and HTTP/3 prior-knowledge modes, Unix sockets, offline request construction, curl command generation, completions, and manpage generation.

### 采用历史

xh's adoption story is unusually package-manager oriented. The README lists installation through Cargo, Homebrew, MacPorts, Nixpkgs, Alpine, Arch, Debian/Ubuntu, Fedora COPR, FreeBSD, NetBSD, Termux, Scoop, Chocolatey, Winget, and other managers, plus prebuilt binaries for Linux, macOS, and Windows.

By July 2026 the GitHub repository had about 7.9k stars, showing that xh had become one of the recognizable modern alternatives in the terminal HTTP-client space. Its strongest adoption path is among developers who like HTTPie's request syntax but want Rust startup speed and simpler binary distribution.

### 使用方式

Typical use mirrors HTTPie: `xh GET example.com`, `xh POST :3000/users name=Ana`, headers with `Header:Value`, query parameters with `==`, JSON literals with `:=`, file upload items with `@`, and localhost shorthand such as `:8000`. The README also documents stdin/file request bodies, nested JSON paths, sessions, downloads, redirects, and output selection.

The package is useful in API testing, shell scripts, local service debugging, documentation snippets, and CI smoke checks where curl is too terse and a full API client is too heavy. The `xhs` alias/symlink convention gives a small packaging detail that matters: package installs can expose both HTTP-default and HTTPS-default entry points.

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

xh is a clean example of the modern Rust CLI packaging pattern: a familiar UX borrowed from an established tool, fast native binaries, broad package-manager availability, and generated shell/manpage assets. It competes not by inventing a new HTTP grammar, but by making an existing ergonomic grammar cheap to install and fast to run.

For package nerds, xh also shows how compatibility can be a product feature. Its value comes from preserving enough HTTPie muscle memory that package users can swap tools without relearning request-item syntax.

### 时间线

- 2020-09-10: the ducaale/xh GitHub repository is created.
- Early project framing: the README describes xh as a friendly and fast tool that reimplements HTTPie's design with better performance.
- By the mid-2020s: the README lists package-manager installation paths across Linux, macOS, Windows, BSD, Android, Cargo, and Nix-style ecosystems.
- By July 2026: GitHub repository metadata shows roughly 7.9k stars and continued activity.

### Related projects

- HTTPie is the direct design ancestor whose request-item syntax and human-friendly CLI style xh follows.
- curl is the lower-level incumbent HTTP CLI; xh even includes options to print curl translations.
- Rust and Cargo matter to xh's distribution story because the tool is implemented as a compiled Rust CLI and can be installed with `cargo install`.

### 来源

- <https://api.github.com/repos/ducaale/xh>
- <https://api.github.com/repos/ducaale/xh/releases?per_page=5>
- <https://github.com/ducaale/xh>
- <https://github.com/httpie/cli>
- <https://raw.githubusercontent.com/ducaale/xh/master/README.md>


## 安全说明

broad file, network, media, or database tool signal.

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal

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

- Debian apt - xh - 0.24.0-1+b1: normalized package name match | Debian stable package indexes: xh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Friendly and fast tool for sending HTTP requests | https://github.com/ducaale/xh
- Nix - xh: normalized package name match | nixpkgs package indexes: pkgs/by-name/xh/xh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - xh - 0.25.3-r0: normalized package name match | Alpine Linux edge package indexes: xh from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Yet another HTTPie clone | https://github.com/ducaale/xh
- apk - xh-bash-completion - 0.25.3-r0: normalized package name match | Alpine Linux edge package indexes: xh-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for xh | https://github.com/ducaale/xh
- apk - xh-doc - 0.25.3-r0: normalized package name match | Alpine Linux edge package indexes: xh-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Yet another HTTPie clone (documentation) | https://github.com/ducaale/xh
- apk - xh-fish-completion - 0.25.3-r0: normalized package name match | Alpine Linux edge package indexes: xh-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for xh | https://github.com/ducaale/xh
- apk - xh-zsh-completion - 0.25.3-r0: normalized package name match | Alpine Linux edge package indexes: xh-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for xh | https://github.com/ducaale/xh
- pacman - xh - 0.26.2-1: normalized package name match | Arch Linux sync databases: xh from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Friendly and fast tool for sending HTTP requests | https://github.com/ducaale/xh
- zypper - xh - 0.26.2-1.1: normalized package name match | openSUSE Tumbleweed package metadata: xh from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tool for sending HTTP requests | https://github.com/ducaale/xh
- MacPorts - xh: normalized package name match | MacPorts ports tree: net/xh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/xh: normalized package name match | Scoop official bucket manifest trees: bucket/xh.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - ducaale.xh: normalized package name match | Windows Package Manager source index: ducaale.xh from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

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


## 来源

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