# 使用 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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
- **版本:** 5.8
- **来源摘要:** Run arbitrary commands when files change
- **主页:** <https://eradman.com/entrproject/>
- **仓库:** <https://github.com/eradman/entr>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- entr (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

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

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

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

- 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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


## 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
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
