# 使用 Homebrew, apk, dnf, MacPorts, Nix, pacman, apt, zypper 安装 libidn

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

## 安装

```sh
sudo av install brew:libidn
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install libidn
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libidn
```

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

### Linux

- apk (92%):

```sh
sudo apk add libidn
```

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

- dnf (92%):

```sh
sudo dnf install libidn
```

  证据: Fedora Rawhide package metadata: libidn from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libidn
```

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

- pacman (92%):

```sh
sudo pacman -S libidn
```

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

- Debian apt (92%):

```sh
sudo apt install idn
```

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

- zypper (92%):

```sh
sudo zypper install libidn-devel
```

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

## 软件包事实

- **软件包键:** brew:libidn
- **软件包管理器:** Homebrew
- **版本:** 1.44
- **来源摘要:** International domain name library
- **主页:** <https://www.gnu.org/software/libidn/>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- idn (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

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

GNU Libidn is the original GNU implementation of internationalized-domain-name handling for the IDNA2003 era, with Stringprep, Nameprep, Punycode, and related TLD validation APIs.

### 项目历史

Libidn started as an implementation of the IETF IDN working group's Stringprep and IDNA work. The GNU manual's history section records version 0.0.0 on 2002-11-05 with Stringprep support, version 0.1.0 on 2003-01-05 with IDNA and Punycode support, and version 0.1.11 on 2003-02-26 with a command-line interface.

The March 2003 IDNA RFCs standardized the ASCII-compatible encoding approach that let applications represent non-ASCII domain labels through ASCII DNS labels beginning with the xn-- prefix. Libidn turned that standards stack into a reusable C library and command-line tool.

The manual records a GNU libc add-on proposal in March 2003 and integration in March 2004. The project page notes Fedora Core 3 included Libidn 0.5.6 in November 2004, and that version 1.0 was released on 2007-07-31 to mark stable status after production use.

### 采用历史

Libidn spread through network clients and authentication-related software that needed to accept internationalized names while still speaking ASCII DNS or protocol internals. The GNU project page names GNU SASL and Shishi as users for processing user names and passwords.

After IDNA2008 replaced the IDNA2003 standards, Libidn remained important for compatibility with older software and older protocol behavior, while GNU Libidn2 became the successor implementation for IDNA2008 and TR46.

### 使用方式

The idn command converts domain names to and from ASCII Compatible Encoding, and the library exposes Stringprep, Punycode, IDNA, and TLD APIs for applications that need deterministic internationalized-name handling.

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

Libidn is a standards-history package: it ties DNS, Unicode 3.2-era string preparation, Punycode, application compatibility, and distro policy into one small dependency. Package maintainers often encounter it when deciding whether old software needs IDNA2003 compatibility or can move to libidn2.

Its glibc add-on history also makes it a useful example of how networking behavior can move between optional libraries, libc, and application-level dependencies.

### 时间线

- 2002: Version 0.0.0 released with Stringprep implementation.
- 2003: Version 0.1.0 added IDNA and Punycode and became part of the GNU project.
- 2003: Version 0.1.11 added the command-line interface.
- 2004: GNU libc add-on integration recorded by the Libidn manual.
- 2007: Version 1.0 released to mark stable status.

### Related projects

- GNU Libidn2 is the successor for IDNA2008 and TR46.
- RFC 3490, RFC 3491, RFC 3492, and RFC 3454 are the main IDNA2003-era standards behind the package.
- GNU SASL and Shishi are named GNU consumers in the project documentation.

### 来源

- <https://datatracker.ietf.org/doc/rfc3490/>
- <https://www.gnu.org/software/libidn/>
- <https://www.gnu.org/software/libidn/manual/html_node/History.html>
- <https://www.gnu.org/software/libidn/manual/libidn.html>
- <https://www.rfc-editor.org/rfc/rfc3454>
- <https://www.rfc-editor.org/rfc/rfc3491>
- <https://www.rfc-editor.org/rfc/rfc3492>


## 安全说明

library-like package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- library-like package without higher-risk signals

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

- Debian apt - idn - 1.43-1: normalized package name match | Debian stable package indexes: idn from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Command line interface to GNU Libidn | https://www.gnu.org/software/libidn/
- Debian apt - libidn-dev - 1.43-1: normalized package name match | Debian stable package indexes: libidn-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development files for GNU Libidn, an IDN library | https://www.gnu.org/software/libidn/
- Debian apt - libidn12 - 1.43-1: normalized package name match | Debian stable package indexes: libidn12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU Libidn library, implementation of IETF IDN specifications | https://www.gnu.org/software/libidn/
- Nix - libidn: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libidn/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - idn - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: idn from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Command line interface to GNU Libidn | https://www.gnu.org/software/libidn/
- Ubuntu apt - libidn-dev - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libidn-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Development files for GNU Libidn, an IDN library | https://www.gnu.org/software/libidn/
- Ubuntu apt - libidn11-dev - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libidn11-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Transitional development package for GNU Libidn | https://www.gnu.org/software/libidn/
- Ubuntu apt - libidn12 - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libidn12 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GNU Libidn library, implementation of IETF IDN specifications | https://www.gnu.org/software/libidn/
- apk - libidn - 1.44-r0: normalized package name match | Alpine Linux edge package indexes: libidn from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Encode/Decode library for internationalized domain names | https://www.gnu.org/software/libidn
- apk - libidn-dev - 1.44-r0: normalized package name match | Alpine Linux edge package indexes: libidn-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Encode/Decode library for internationalized domain names (development files) | https://www.gnu.org/software/libidn
- apk - libidn-doc - 1.44-r0: normalized package name match | Alpine Linux edge package indexes: libidn-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Encode/Decode library for internationalized domain names (documentation) | https://www.gnu.org/software/libidn
- dnf - libidn - 1.44-2.fc45: normalized package name match | Fedora Rawhide package metadata: libidn from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Internationalized Domain Name support library | http://www.gnu.org/software/libidn/
- dnf - libidn-devel - 1.44-2.fc45: normalized package name match | Fedora Rawhide package metadata: libidn-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Development files for the libidn library | http://www.gnu.org/software/libidn/
- dnf - libidn-java - 1.44-2.fc45: normalized package name match | Fedora Rawhide package metadata: libidn-java from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Java port of the GNU Libidn library | http://www.gnu.org/software/libidn/
- dnf - libidn-javadoc - 1.44-2.fc45: normalized package name match | Fedora Rawhide package metadata: libidn-javadoc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Javadoc for libidn-java | http://www.gnu.org/software/libidn/
- pacman - libidn - 1.44-1: normalized package name match | Arch Linux sync databases: libidn from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Implementation of the Stringprep, Punycode and IDNA specifications | https://www.gnu.org/software/libidn/


## Combined YAML source

View the package source record on GitHub. [combined/libidn.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libidn.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
