# 使用 Homebrew, scoop, winget 安装 elm

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

## 安装

```sh
sudo av install brew:elm
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install elm
```

  证据: local Homebrew formula metadata

### Windows

- Scoop (92%):

```sh
scoop install main/elm
```

  证据: Scoop official bucket manifest trees: bucket/elm.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id EvanCzaplicki.Elm -e
```

  证据: Windows Package Manager source index: EvanCzaplicki.Elm from https://cdn.winget.microsoft.com/cache/source.msix

## 软件包事实

- **软件包键:** brew:elm
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/elm>
- **版本:** 0.19.2
- **来源摘要:** Functional programming language for building browser-based GUIs
- **主页:** <https://elm-lang.org>
- **仓库:** <https://github.com/elm/compiler>
- **上游文档:** <https://elm-lang.org/docs>
- **许可证:** BSD-3-Clause
- **源码归档:** <https://github.com/elm/compiler/archive/refs/tags/0.19.2.tar.gz>
- **最后更新:** 2026-07-07T20:40:18Z
- **已生成:** 2026-07-08T07:18:31+00:00

## 可执行文件

- elm (cli)
- elm (别名)

## 依赖

- gmp

## 构建依赖

- cabal-install
- ghc

## macOS 提供的库

- libffi
- ncurses

## 安装行为

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

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 0.19.2
- 管理器更新时间: 2026-07-07
- 本地数据: OK
- 上游仓库: https://github.com/elm/compiler
- 检测到的最新版本: 0.19.2 (当前)
## 项目历史与用法

Elm is a functional programming language and compiler toolchain for browser applications. Its official materials frame it around reliable webapps, friendly compiler messages, small assets, and a command-line workflow centered on elm init, elm reactor, elm make, elm install, and elm.json.

### 项目历史

Elm began as an experimental functional reactive programming language and became a practical web UI language over the 0.x series. The official news archive records early releases from 0.1 in April 2012, then a steady sequence of language, package, debugger, and compiler changes through the 2010s.

A major design shift came with Elm 0.17 in 2016, where the project removed signals from application code and introduced subscriptions, moving Elm away from explicit FRP vocabulary in day-to-day app structure. Elm 0.19 in 2018 later emphasized smaller assets and faster builds, and Elm 0.19.1 in 2019 was described by the official news page as stable for quite some time.

### 采用历史

Elm's adoption has been tied to its promise of making frontend programming more predictable. The official guide teaches beginners through browser UI examples and the Elm Architecture, while the news archive highlights compiler errors, debugger work, package management, and conference talks as part of the language's outreach.

In package-manager culture, Elm is installed as a single executable and appears in Homebrew, Scoop, winget, and other package indexes. That distribution style made the compiler easy to pin, replace, and run locally, which mattered for teams managing Elm version compatibility across projects.

### 使用方式

A normal Elm project starts with elm init, which creates elm.json and a src directory. Developers use elm reactor for local exploration, elm make to compile Elm source to HTML or JavaScript, and elm install to add packages from package.elm-lang.org into elm.json.

Elm is most commonly used for browser-based GUI work where a strongly typed, functional architecture is valued. The command-line workflow is deliberately small: build, run a local reactor, install packages, and ask the compiler for detailed error messages.

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

Elm is notable to package nerds because the compiler, package manager, package registry, and project manifest form a tightly controlled ecosystem. The elm.json file captures application and package dependencies, and the compiler's version-sensitive behavior makes reproducible installs and exact tool versions important.

Elm also influenced frontend tooling expectations: friendly diagnostics, a standard architecture, and a package workflow with strong semantic constraints became part of its identity. Even people who do not use Elm often recognize it as a language ecosystem that optimized hard for understandable errors and low-runtime-surprise web apps.

### 时间线

- 2012: Elm 0.1 initial release appears in the official release archive.
- 2014: Elm 0.14 introduces the package manager, parallel builds, and JSON support according to the official news archive.
- 2016: Elm 0.17 adds subscriptions and removes signals from ordinary application code.
- 2018: Elm 0.19 focuses on smaller assets and faster builds.
- 2019: Elm 0.19.1 is released and described by the news page as a long-stable release.

### Related projects

- Elm is closely related to package.elm-lang.org, the official guide, elm-format, and editor tooling for Elm source. Conceptually, it sits near functional frontend systems and ML-family languages, but its package and compiler workflow is intentionally its own ecosystem.

### 来源

- <https://elm-lang.org/news>
- <https://guide.elm-lang.org/install/elm.html>
- <https://github.com/elm/compiler>
- <https://github.com/elm/compiler/releases>
- <https://github.com/elm/compiler/blob/master/installers/README.md>


## 安全说明

generalized runtime or code generation signal.

- **Geiger 风险:** yellow / 中
- generalized runtime or code generation signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: elm.json
## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** elm
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

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

- Scoop - main/elm: normalized package name match | Scoop official bucket manifest trees: bucket/elm.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - EvanCzaplicki.Elm: normalized package name match | Windows Package Manager source index: EvanCzaplicki.Elm from https://cdn.winget.microsoft.com/cache/source.msix


## 相关链接

- [Secret-risk packages](https://www.automicvault.com/zh-hans/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/zh-hans/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/zh-hans/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [cabal-install](https://www.automicvault.com/zh-hans/pkg/brew/cabal-install/) - Build dependency declared by Homebrew.
- [ghc](https://www.automicvault.com/zh-hans/pkg/brew/ghc/) - Build dependency declared by Homebrew.
- [agda](https://www.automicvault.com/zh-hans/pkg/brew/agda/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [coconut](https://www.automicvault.com/zh-hans/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [elixir](https://www.automicvault.com/zh-hans/pkg/brew/elixir/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [flix](https://www.automicvault.com/zh-hans/pkg/brew/flix/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [frege](https://www.automicvault.com/zh-hans/pkg/brew/frege/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [idris2](https://www.automicvault.com/zh-hans/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [koka](https://www.automicvault.com/zh-hans/pkg/brew/koka/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [mercury](https://www.automicvault.com/zh-hans/pkg/brew/mercury/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [urweb](https://www.automicvault.com/zh-hans/pkg/brew/urweb/) - Local package facts share a topical domain. Shared terms: cli, functional, functional-programming, gmp, language.
- [elm](https://www.automicvault.com/zh-hans/pkg/npm/elm/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/elm.yml](https://github.com/automic-vault/db/blob/main/combined/elm.yml)


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
