# 使用 Homebrew, MacPorts, Nix, apt 安装 watcher

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

## 安装

```sh
sudo av install brew:watcher
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install watcher
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install watcher
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#watcher
```

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

- Debian apt (92%):

```sh
sudo apt install python3-watcher
```

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

## 软件包事实

- **软件包键:** brew:watcher
- **软件包管理器:** Homebrew
- **版本:** 0.14.5
- **来源摘要:** Filesystem watcher, works anywhere, simple, efficient and friendly
- **主页:** <https://github.com/e-dant/watcher>
- **仓库:** <https://github.com/e-dant/watcher>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- wtr.watcher (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

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

Watcher is e-dant's cross-platform filesystem event watcher, exposed both as a C++ library and as a CLI that prints filesystem events. Its niche is deliberately small and systems-oriented: a dependency-minimal watcher that can be embedded from C++ or reached through C, Python, Rust, Node.js, and Go bindings.

### 项目历史

Watcher appeared publicly as a Show HN post on October 18, 2022, where the author described it as a simple, efficient, dependency-free, header-only filesystem event watcher. In that launch discussion, the author explained the early implementation tradeoff: a baseline standard-library watcher, OS-specific support where useful, and attention to correctness on large trees rather than simply wrapping one kernel notification API.

The repository's release history shows the project maturing from the 0.9 and 0.10 series into 0.12, 0.13, and 0.14. By the 0.14.0 release, the project had added a Go package, refined Windows DLL exports for the C interface, and improved CMake behavior for subproject use. The 0.13.7 and later releases also show the kind of maintenance expected from filesystem tools: inotify rename fixes, Darwin/FSEvents fixes, pkg-config files, version flags, C++17 portability, and test/CI updates.

### 采用历史

Watcher remains a modest project compared with older file watching services, but its adoption signals are visible in developer packaging channels. The GitHub project page shows hundreds of stars, the README badges point to Conan, Cargo, PyPI, Go modules, Homebrew, Nix, and GNU Guix, and release artifacts are published for multiple operating systems and architectures.

### 使用方式

The README presents Watcher as both a library and a program. Library users call a `watch` function or class with a path and callback, then receive event objects containing path name, path type, effect type, event time, and an associated path for rename-style events. CLI users can run the bundled watcher program and pipe the resulting JSON stream into other tools.

The project is unusually binding-heavy for its size. The README includes quick starts for C++, C, Python, Rust, Node.js, and Go, which positions Watcher less as an end-user automation command like watchexec and more as a portable event substrate for developers who want file-change events inside their own applications.

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

Watcher is significant to package nerds because it tackles a famously awkward portability problem: every major OS exposes different filesystem event semantics, and correctness around renames, recursive trees, symlinks, and editor save patterns is full of edge cases. A small, dependency-minimal C++17 implementation with pkg-config, CMake, C ABI, and language bindings is exactly the sort of library packagers scrutinize for ABI surface, portability, testability, and platform-specific behavior.

### 时间线

- 2022-10-18: Watcher is introduced on Hacker News as a filesystem watcher.
- 2023-2024: 0.10 through 0.12 release tags mark early public library and CLI maturation.
- 2025-09-01: 0.13.7 adds pkg-config files, a CLI version flag, C++17 portability fixes, and inotify rename fixes.
- 2025-12-08: 0.14.0 adds a Go package and improves C/CMake integration.
- 2026-02-23: 0.14.5 fixes cross-directory path-name caching and inotify/Linux reporting.

### Related projects

- Watcher sits near fsnotify-style libraries, kqueue/inotify/FSEvents/ReadDirectoryChangesW wrappers, Watchman, watchexec, entr, and language-specific file-watching packages. Its closest distinction is being an embeddable C++ library with a CLI, rather than a long-running service or a command rerunner.

### 来源

- <https://conan.io/center/recipes/watcher>
- <https://github.com/e-dant/watcher>
- <https://github.com/e-dant/watcher/releases>
- <https://news.ycombinator.com/item?id=33247155>


## 安全说明

narrow executable package without higher-risk signals.

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

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

- Debian apt - python3-watcher - 14.0.0-1+deb13u1: normalized package name match | Debian stable package indexes: python3-watcher from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack Cloud Optimization as a Service - Python libraries | https://github.com/openstack/watcher
- Debian apt - watcher-api - 14.0.0-1+deb13u1: normalized package name match | Debian stable package indexes: watcher-api from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack Cloud Optimization as a Service - API server | https://github.com/openstack/watcher
- Debian apt - watcher-applier - 14.0.0-1+deb13u1: normalized package name match | Debian stable package indexes: watcher-applier from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack Cloud Optimization as a Service - Applier | https://github.com/openstack/watcher
- Debian apt - watcher-common - 14.0.0-1+deb13u1: normalized package name match | Debian stable package indexes: watcher-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack Cloud Optimization as a Service - common files | https://github.com/openstack/watcher
- Debian apt - watcher-decision-engine - 14.0.0-1+deb13u1: normalized package name match | Debian stable package indexes: watcher-decision-engine from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack Cloud Optimization as a Service - Decision Engine | https://github.com/openstack/watcher
- Debian apt - watcher-doc - 14.0.0-1+deb13u1: normalized package name match | Debian stable package indexes: watcher-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenStack Cloud Optimization as a Service - doc | https://github.com/openstack/watcher
- Nix - watcher: normalized package name match | nixpkgs package indexes: pkgs/by-name/wa/watcher/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - python3-watcher - 2:12.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-watcher from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenStack Cloud Optimization as a Service - Python 3 libraries | https://opendev.org/openstack/watcher
- Ubuntu apt - watcher-api - 2:12.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: watcher-api from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenStack Cloud Optimization as a Service - API server | https://opendev.org/openstack/watcher
- Ubuntu apt - watcher-applier - 2:12.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: watcher-applier from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenStack Cloud Optimization as a Service - Applier | https://opendev.org/openstack/watcher
- Ubuntu apt - watcher-common - 2:12.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: watcher-common from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenStack Cloud Optimization as a Service - common files | https://opendev.org/openstack/watcher
- Ubuntu apt - watcher-decision-engine - 2:12.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: watcher-decision-engine from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenStack Cloud Optimization as a Service - Decision Engine | https://opendev.org/openstack/watcher
- Ubuntu apt - watcher-doc - 2:12.0.0-0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: watcher-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenStack Cloud Optimization as a Service - doc | https://opendev.org/openstack/watcher
- MacPorts - watcher: normalized package name match | MacPorts ports tree: devel/watcher/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/watcher.yml](https://github.com/mxcl/pkgdb/blob/main/combined/watcher.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
