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

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

## 安装

```sh
sudo av install brew:entr
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install entr
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install entr
```

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

### Linux

- apk (92%):

```sh
sudo apk add entr
```

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

- Debian apt (92%):

```sh
sudo apt install entr
```

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

- dnf (92%):

```sh
sudo dnf install entr
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#entr
```

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

- pacman (92%):

```sh
sudo pacman -S entr
```

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

- zypper (92%):

```sh
sudo zypper install entr
```

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

## 软件包事实

- **软件包键:** brew:entr
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/entr>
- **版本:** 5.8
- **来源摘要:** Run arbitrary commands when files change
- **主页:** <https://eradman.com/entrproject/>
- **仓库:** <https://github.com/eradman/entr>
- **上游文档:** <https://eradman.com/entrproject/>
- **许可证:** ISC
- **源码归档:** <https://eradman.com/entrproject/code/entr-5.8.tar.gz>
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- entr (cli)
- entr (别名)

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 5.8
- 本地数据: OK
- 上游仓库: https://eradman.com/entrproject/
- 信息: No package-manager update timestamp was available.
- 信息: Release/tag comparison is only available for GitHub repositories.
## 项目历史与用法

entr is a small Unix command that runs arbitrary commands when input files change. Its appeal comes from staying close to shell pipelines: users pipe a file list into `entr`, and the tool uses kqueue or inotify to avoid polling.

### 项目历史

The README describes entr as an Event Notify Test Runner written to facilitate rapid feedback on the command line. Its implementation deliberately relies on native operating-system event facilities, using kqueue on BSD/macOS-style systems and inotify on Linux.

The release history shows steady maintenance across portability, process-control, and file-notification edge cases. Version 4.3 in 2019 moved hosting from Bitbucket to GitHub and replaced Mercurial with Git in its system-test workflow, a useful marker in the project's packaging history.

### 采用历史

entr is broadly packaged for Unix-like systems. The input package facts list Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE package names, and Homebrew formula analytics showed thousands of annual installs during this run.

Its adoption is helped by having no project-specific build system assumptions: examples use standard shell pipelines with `ls`, `find`, `make`, `psql`, Node, Ruby, and web servers, so it fits into many language ecosystems without becoming part of any one of them.

### 使用方式

Common uses include rebuilding a project when source files change, running tests after successful builds, restarting a development server, clearing a terminal before command output, and re-running database scripts. The web documentation explains restart mode, directory watching for new files, status filters, and the `/_` placeholder for the changed file.

entr's design leaves file discovery to other tools and command execution to the shell. That keeps the package small, but it also means users compose it with `find`, `ls`, `ag`, `ack`, `make`, or language-specific commands depending on the project.

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

entr is a classic package-manager tool: tiny, portable, scriptable, and more powerful because it composes with everything else. It occupies the space between ad hoc shell loops and heavier file-watcher daemons, which is why it shows up in many Unix package collections.

For maintainers, the interesting bits are platform event semantics and terminal/process behavior, not dependency management. The NEWS file is mostly a chronicle of inotify, kqueue, signals, file limits, child processes, and terminal handling.

### 时间线

- 2015: 3.x releases document directory watching and release-number display.
- 2018: 4.0 refines restart mode and terminal restoration.
- 2019: 4.3 moves hosting from Bitbucket to GitHub and switches test workflow dependency from Mercurial to Git.
- 2020: 4.4 adds a single inotify queue and an inotify workaround mode for limited platforms.
- 2021: 5.0 ships, continuing Linux and macOS event-handling refinements.
- 2026: 5.8 adds a help flag, symlink monitoring changes, and more file-limit handling on macOS.

### Related projects

- entr is often compared operationally with file-watcher tools, test runners, and reloaders, but it remains intentionally shell-oriented.
- Its documentation explicitly suggests pairing it with source listing tools such as ag or ack and build commands such as make.

### 来源

- <https://eradman.com/entrproject>
- <https://github.com/eradman/entr/blob/master/README.md>
- <https://github.com/eradman/entr/blob/master/NEWS>
- <https://formulae.brew.sh/formula/entr>


## 安全说明

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:** entr
- **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

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

- Debian apt - entr - 5.7-1: normalized package name match | Debian stable package indexes: entr from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run arbitrary commands when files change | https://eradman.com/entrproject/
- Nix - entr: normalized package name match | nixpkgs package indexes: pkgs/by-name/en/entr/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - entr - 5.5-1: normalized package name match | Ubuntu 24.04 LTS package indexes: entr from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Run arbitrary commands when files change | https://eradman.com/entrproject/
- apk - entr - 5.8-r0: normalized package name match | Alpine Linux edge package indexes: entr from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Event Notify Test Runner: Run arbitrary commands when files change | https://eradman.com/entrproject
- apk - entr-doc - 5.8-r0: normalized package name match | Alpine Linux edge package indexes: entr-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Event Notify Test Runner: Run arbitrary commands when files change (documentation) | https://eradman.com/entrproject
- dnf - entr - 5.8-2.fc45: normalized package name match | Fedora Rawhide package metadata: entr from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Run arbitrary commands when files change | http://eradman.com/entrproject/
- pacman - entr - 5.8-1: normalized package name match | Arch Linux sync databases: entr from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Run arbitrary commands when files change | http://eradman.com/entrproject
- zypper - entr - 5.8-1.4: normalized package name match | openSUSE Tumbleweed package metadata: entr from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | A utility for running arbitrary commands when files change | https://eradman.com/entrproject/
- MacPorts - entr: normalized package name match | MacPorts ports tree: sysutils/entr/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 相关链接

- [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.
- [Networking and protocol packages](https://pkg.so/zh-hans/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [expect](https://pkg.so/zh-hans/brew/expect/) - Shares pkgdb curated category or tags: automation, cli, developer-tools, testing.
- [robot-framework](https://pkg.so/zh-hans/brew/robot-framework/) - Shares pkgdb curated category or tags: automation, cli, developer-tools, testing.
- [reflex](https://pkg.so/zh-hans/brew/reflex/) - Shares pkgdb curated category or tags: automation, cli, developer-tools, file-watcher.
- [retry](https://pkg.so/zh-hans/brew/retry/) - Shares pkgdb curated category or tags: automation, cli, developer-tools.
- [appium](https://pkg.so/zh-hans/brew/appium/) - Shares pkgdb curated category or tags: automation, cli, developer-tools, testing.
- [apify-cli](https://pkg.so/zh-hans/brew/apify-cli/) - Shares pkgdb curated category or tags: automation, cli, developer-tools.
- [docker-gen](https://pkg.so/zh-hans/brew/docker-gen/) - Shares pkgdb curated category or tags: automation, cli, developer-tools.
- [rust-parallel](https://pkg.so/zh-hans/brew/rust-parallel/) - Shares pkgdb curated category or tags: automation, cli, developer-tools.
- [watchexec](https://pkg.so/zh-hans/brew/watchexec/) - Local package facts share a topical domain. Shared terms: automation, change, cli, commands, developer.
- [watchman](https://pkg.so/zh-hans/brew/watchman/) - Local package facts share a topical domain. Shared terms: automation, change, cli, developer, developer-tools.

## Combined YAML source

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