# 使用 Homebrew, MacPorts, Nix 安装 yuicompressor

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

## 安装

```sh
sudo av install brew:yuicompressor
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install yuicompressor
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install yuicompressor
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#yuicompressor
```

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

## 软件包事实

- **软件包键:** brew:yuicompressor
- **软件包管理器:** Homebrew
- **版本:** 2.4.8
- **来源摘要:** Yahoo! JavaScript and CSS compressor
- **主页:** <https://yui.github.io/yuicompressor/>
- **仓库:** <https://github.com/yui/yuicompressor>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- yuicompressor (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

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

YUI Compressor is Yahoo's Java-based JavaScript and CSS minifier from the YUI era. It removes comments and whitespace, shortens local JavaScript symbols when safe, compresses CSS, and became a standard build-step tool before newer JavaScript-native minifiers took over much of the ecosystem.

For package managers, its identity is very CLI-shaped: install a small wrapper around a Java jar, point it at .js or .css files, and produce smaller production assets. That made it easy to package across Homebrew, MacPorts, Maven, npm wrappers, and older Ant-era web build systems.

### 项目历史

The project grew out of Yahoo's frontend performance work around the YUI Library. The official project page frames minification as one of the secondary performance techniques used after larger page-design savings, and compares YUI Compressor with tools such as JSMin, the Dojo compressor, and Dean Edwards' Packer.

Technically, YUI Compressor used Mozilla Rhino to tokenize JavaScript instead of relying only on text substitutions. That let it remove whitespace and rename local symbols while taking a defensive approach around difficult JavaScript constructs such as eval and with. CSS compression was also included, using a regular-expression-based minifier lineage credited on the official page.

The public GitHub repository was created in December 2008, while the changelog preserves a longer 2.x release line. The final tagged GitHub release, v2.4.8 'Greendale', was published in July 2013 and focused on compatibility fixes, CSS compression improvements, warning output, parameter parsing, batch modes, and tests.

### 采用历史

YUI Compressor became popular because it matched the way web teams shipped assets in the late 2000s and early 2010s: Java was already common in build infrastructure, Ant integration was natural, and the command-line interface fit makefiles, CI jobs, and static asset deployment scripts.

Its official documentation emphasizes byte savings compared with JSMin and safe handling of JavaScript and CSS. Those claims mattered in the pre-bundler period, when teams often concatenated and minified library files directly rather than running a full module pipeline.

Later adoption shifted toward wrapper packages and legacy maintenance. The README documents an npm package that still invokes Java under the hood, showing how the compressor was carried forward into Node-oriented workflows even though its implementation remained a Java command-line tool.

### 使用方式

Typical use is batch minification: run the yuicompressor command or jar against JavaScript or CSS input, set the type explicitly when needed, and write to stdout or an output file. The README documents options for character set, line breaking, JavaScript symbol munging, semicolon preservation, and disabling micro-optimizations.

The tool is most relevant today when reproducing older web builds, maintaining projects that were pinned to YUI-era minification behavior, or comparing historical minifier output. It is also a useful example of a minifier that exposes safety knobs for constructs and comments that mattered to production JavaScript/CSS deployment.

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

YUI Compressor is package-nerd archaeology from the period when frontend optimization was often a Java jar in a build directory. It sits between tiny text filters such as JSMin and modern JavaScript bundler/minifier stacks, and it explains why many old packages still have yuicompressor hooks.

It also shows how a once-central tool can survive as a compatibility package: the web moved on to UglifyJS, terser, esbuild, SWC, and bundlers, but package collections keep YUI Compressor available for old build recipes and reproducible maintenance work.

### 时间线

- 2008-12-05: The public GitHub repository for yui/yuicompressor is created.
- 2008-2010: The 2.x changelog records active fixes around JavaScript parsing, CSS compression, source compatibility, and batch workflows.
- 2013-07-03: GitHub release v2.4.8, named Greendale, is published.
- 2021-09-15: GitHub metadata shows the repository's most recent push before the 2026 enrichment run.

### Related projects

- YUI Library is the Yahoo frontend library whose performance culture helped drive the compressor.
- Mozilla Rhino is the JavaScript engine/tokenizer lineage used by YUI Compressor, with local modifications documented in the README.
- JSMin, the Dojo compressor, and Dean Edwards' Packer are named by the official project page as contemporary JavaScript minification tools.

### 来源

- <https://api.github.com/repos/yui/yuicompressor>
- <https://api.github.com/repos/yui/yuicompressor/releases>
- <https://github.com/yui/yuicompressor>
- <https://raw.githubusercontent.com/yui/yuicompressor/master/README.md>
- <https://raw.githubusercontent.com/yui/yuicompressor/master/doc/CHANGELOG>
- <https://yui.github.io/yuicompressor/>


## 安全说明

broad file, network, media, or database tool signal.

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal

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

- Nix - yuicompressor: normalized package name match | nixpkgs package indexes: pkgs/by-name/yu/yuicompressor/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - yuicompressor: normalized package name match | MacPorts ports tree: www/yuicompressor/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/yuicompressor.yml](https://github.com/mxcl/pkgdb/blob/main/combined/yuicompressor.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
