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

Fast and statically typed, compiled language with Ruby-like syntax. Version 1.21.0 via Homebrew; verified 2026-07-19. Also installable with debian: sudo apt install crystal.

## 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
- **Version:** 1.21.0
- **Source summary:** Fast and statically typed, compiled language with Ruby-like syntax
- **Homepage:** <https://crystal-lang.org/>
- **Repository:** <https://github.com/crystal-lang/crystal>
- **Last updated:** 2026-07-19T09:37:42Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- crystal (alias)
- shards (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.21.0
## 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.


## 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.21.0-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.21.0-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.21.0-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-fish-completion - 1.21.0-r0: normalized package name match | Alpine Linux edge package indexes: crystal-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for crystal | https://crystal-lang.org/
- apk - crystal-zsh-completion - 1.21.0-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.21.0-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


## Combined YAML source

View the package source record on GitHub. [combined/crystal.yml](https://github.com/mxcl/pkgdb/blob/main/combined/crystal.yml)


## Sources

- 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
