# 使用 Homebrew, MacPorts, apt 安装 cram

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

## 安装

```sh
sudo av install brew:cram
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install cram
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install cram
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install python3-cram
```

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

## 软件包事实

- **软件包键:** brew:cram
- **软件包管理器:** Homebrew
- **版本:** 0.7
- **来源摘要:** Functional testing framework for command-line applications
- **主页:** <https://bitheap.org/cram>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- cram (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

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

Cram is a functional testing framework for command-line applications, built around test files that look like annotated interactive shell sessions.

### 项目历史

Cram's official site describes tests as snippets of interactive shell sessions: commands are run, and their actual output is compared with expected output stored in `.t` files.

### 采用历史

The project's NEWS file shows a compact release history from 0.1 in 2010 through 0.7 in 2016. Over that period it gained interactive update support, regex and glob matching, temporary-directory isolation, Python 3 support, `.cramrc`, shell selection, and xUnit XML output.

### 使用方式

Developers use Cram for black-box CLI tests where shell commands and expected output are easier to review than imperative test code. It prints unified diffs for failures, can write `.err` files, and can interactively merge observed output back into tests.

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

Cram has lasting package-manager appeal because it tests command-line behavior at the packaging boundary. A formula or distro maintainer can exercise installed commands exactly as users run them, without importing the application as a library.

### 时间线

- 2010: Version 0.1 was released.
- 2010: Versions 0.3 and 0.4 added environment isolation, interactive updates, regex and glob matching.
- 2013: Version 0.6 added `.cramrc`, shell selection, and Arch Linux package metadata.
- 2016: Version 0.7 added debug mode, shell options, and xUnit XML output.

### Related projects

- Cram is conceptually close to shell transcript testing and Mercurial-style `.t` tests, but is distributed as its own Python command-line test runner.

### 来源

- <https://bitheap.org/cram>
- <https://raw.githubusercontent.com/aiiie/cram/master/NEWS.rst>
- <https://github.com/aiiie/cram>
- <https://formulae.brew.sh/formula/cram>


## 安全说明

narrow executable package without higher-risk signals.

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

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

- Debian apt - python3-cram - 0.7-6: normalized package name match | Debian stable package indexes: python3-cram from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | functional testing framework for command line applications - Python 3.x | https://bitheap.org/cram/
- Ubuntu apt - python3-cram - 0.7-5: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-cram from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | functional testing framework for command line applications - Python 3.x | https://bitheap.org/cram/
- MacPorts - cram: normalized package name match | MacPorts ports tree: devel/cram/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/cram.yml](https://github.com/mxcl/pkgdb/blob/main/combined/cram.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
