# Install crystal with Homebrew, apk, apt, MacPorts, pacman, scoop, winget, Nix

Fast and statically typed, compiled language with Ruby-like syntax. Version 1.20.3 via Homebrew; verified 2026-07-03.

## Install

```sh
sudo av install brew:crystal
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install crystal
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install crystal
```

  Evidence: MacPorts ports tree: lang/crystal/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add crystal
```

  Evidence: Alpine Linux edge package indexes: crystal from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install crystal
```

  Evidence: Debian stable package indexes: crystal from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- pacman (92%):

```sh
sudo pacman -S crystal
```

  Evidence: Arch Linux sync databases: crystal from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#shards
```

  Evidence: nixpkgs package indexes: pkgs/by-name/sh/shards/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/crystal
```

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

- winget (92%):

```sh
winget install --id CrystalLang.Crystal -e
```

  Evidence: Windows Package Manager source index: CrystalLang.Crystal from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:crystal
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/crystal>
- **Version:** 1.20.3
- **Source summary:** Fast and statically typed, compiled language with Ruby-like syntax
- **Homepage:** <https://crystal-lang.org/>
- **Repository:** <https://github.com/crystal-lang/crystal>
- **Upstream docs:** <https://crystal-lang.org/api/latest>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/crystal-lang/crystal/archive/refs/tags/1.20.3.tar.gz>
- **Last updated:** 2026-07-03T09:03:45Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- crystal (cli)
- shards (cli)
- crystal (alias)
- shards (alias)

## Dependencies

- bdw-gc
- gmp
- libyaml
- llvm
- openssl@3
- pcre2
- pkgconf

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.20.3
- Package-manager updated: 2026-07-03
- Local data: ok
- Upstream repository: https://github.com/crystal-lang/crystal
- Upstream latest detected: 1.20.3 (current)
## Project history and usage

Crystal is a compiled, statically type-checked programming language with Ruby-inspired syntax and a native-code toolchain. As a package, it is both a compiler/runtime and the delivery point for Shards, the distributed dependency manager used by Crystal libraries.

### Project history

The official birthday post says Crystal became one year old on September 3, 2013, placing the project's start in 2012. The project describes itself as born and raised at Manas, with goals that combine Ruby-like syntax, static type checking without pervasive annotations, C bindings, compile-time code generation, and efficient native code generation through LLVM.

### Adoption history

Crystal reached its 1.0 milestone in March 2021 after many years of development, thousands of contributions, and more than 450 contributors according to the official 1.0 announcement. That release mattered to adoption because it introduced a 1.x compatibility promise for language and standard-library behavior, which is the kind of stability signal package maintainers and production users wait for.

### How it is used

Users install the crystal compiler to build command-line tools, services, and libraries with Ruby-like syntax and native output. The official homepage highlights the standard library, fibers, C bindings, macros, and Shards; the reference and API docs are the primary documentation surfaces for everyday development.

### Why package nerds care

Crystal is unusually package-manager-shaped for a language runtime: the official install page distinguishes official packages, system packages, and community-maintained packages, and says Homebrew is the most popular installation method. The same page lists Debian/Ubuntu, Alpine, Arch, Homebrew, Nix, Scoop, WinGet, MSYS2, FreeBSD, OpenBSD, and other routes, so downstream packaging is a central part of how users receive the language.

### Timeline

- 2012: The project began, inferred from the official one-year birthday post dated September 4, 2013.
- 2013: The official birthday post described Crystal as similar to Ruby but compiled to native machine code with LLVM.
- 2021: Crystal 1.0 was announced with a 1.x compatibility promise.
- 2026: The official homepage release notes listed Crystal 1.20.2 on May 15, 2026.

### Related projects

- Crystal is distributed with Shards for dependencies, uses LLVM for native code generation, and supports C library bindings. Its ecosystem also includes the Crystal Forum, play.crystal-lang.org, and community tools such as ICR.

### Sources

- <https://crystal-lang.org/>
- <https://github.com/crystal-lang/crystal>
- <https://crystal-lang.org/2013/09/04/happy-birthday-crystal/>
- <https://crystal-lang.org/2021/03/22/crystal-1.0-what-to-expect/>
- <https://crystal-lang.org/install/>


## Security Notes

No matching local secret-handling manifest was found for crystal. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

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

## Other Package-Manager Records

- Debian apt - crystal - 1.14.0+dfsg-1: normalized package name match | Debian stable package indexes: crystal from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | compiler of the Crystal object-oriented programming language | https://crystal-lang.org/
- Debian apt - crystal-doc - 1.14.0+dfsg-1: normalized package name match | Debian stable package indexes: crystal-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | API documentation for the Crystal object-oriented programming language | https://crystal-lang.org/
- Debian apt - crystal-samples - 1.14.0+dfsg-1: normalized package name match | Debian stable package indexes: crystal-samples from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | samples for the Crystal object-oriented programming language | https://crystal-lang.org/
- Ubuntu apt - crystal - 1.11.2+dfsg-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: crystal from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | compiler of the Crystal object-oriented programming language | https://crystal-lang.org/
- Ubuntu apt - crystal-doc - 1.11.2+dfsg-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: crystal-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | API documentation for the Crystal object-oriented programming language | https://crystal-lang.org/
- Ubuntu apt - crystal-samples - 1.11.2+dfsg-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: crystal-samples from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | samples for the Crystal object-oriented programming language | https://crystal-lang.org/
- apk - crystal - 1.20.2-r0: normalized package name match | Alpine Linux edge package indexes: crystal from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | The Crystal Programming Language | https://crystal-lang.org/
- apk - crystal-bash-completion - 1.20.2-r0: normalized package name match | Alpine Linux edge package indexes: crystal-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for crystal | https://crystal-lang.org/
- apk - crystal-doc - 1.20.2-r0: normalized package name match | Alpine Linux edge package indexes: crystal-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | The Crystal Programming Language (documentation) | https://crystal-lang.org/
- apk - crystal-zsh-completion - 1.20.2-r0: normalized package name match | Alpine Linux edge package indexes: crystal-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for crystal | https://crystal-lang.org/
- pacman - crystal - 1.20.2-1: normalized package name match | Arch Linux sync databases: crystal from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | The Crystal Programming Language | https://crystal-lang.org
- MacPorts - crystal: normalized package name match | MacPorts ports tree: lang/crystal/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/crystal: normalized package name match | Scoop official bucket manifest trees: bucket/crystal.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - CrystalLang.Crystal: normalized package name match | Windows Package Manager source index: CrystalLang.Crystal from https://cdn.winget.microsoft.com/cache/source.msix
- MacPorts - shards: installed executable or alias match | MacPorts ports tree: devel/shards/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Debian apt - shards - 0.19.0-1: installed executable or alias match | Debian stable package indexes: shards from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependency manager for the Crystal language | https://crystal-lang.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [llvm](https://www.automicvault.com/pkg/brew/llvm/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [pcre2](https://www.automicvault.com/pkg/brew/pcre2/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Runtime dependency declared by Homebrew.
- [amber](https://www.automicvault.com/pkg/brew/amber/) - Popular package that depends on this formula.
- [crystal-icr](https://www.automicvault.com/pkg/brew/crystal-icr/) - Popular package that depends on this formula.
- [crystalline](https://www.automicvault.com/pkg/brew/crystalline/) - Popular package that depends on this formula.
- [urweb](https://www.automicvault.com/pkg/brew/urweb/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language, static-typing.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ballerina](https://www.automicvault.com/pkg/brew/ballerina/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [chapel](https://www.automicvault.com/pkg/brew/chapel/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coffeescript](https://www.automicvault.com/pkg/brew/coffeescript/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [fennel](https://www.automicvault.com/pkg/brew/fennel/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [julia](https://www.automicvault.com/pkg/brew/julia/) - Local package facts share a topical domain. Shared terms: cli, compiler, fast, gmp, language.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, llvm.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- 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
