# Install guile with Homebrew, apk, dnf, MacPorts, Nix, pacman, zypper

GNU Ubiquitous Intelligent Language for Extensions. Version 3.0.11 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:guile
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install guile
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install guile
```

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

### Linux

- apk (92%):

```sh
sudo apk add guile
```

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

- dnf (92%):

```sh
sudo dnf install compat-guile18
```

  Evidence: Fedora Rawhide package metadata: compat-guile18 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#guile
```

  Evidence: nixpkgs package indexes: guile from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S guile
```

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

- zypper (92%):

```sh
sudo zypper install guile
```

  Evidence: openSUSE Tumbleweed package metadata: guile from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:guile
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/guile>
- **Version:** 3.0.11
- **Source summary:** GNU Ubiquitous Intelligent Language for Extensions
- **Homepage:** <https://www.gnu.org/software/guile/>
- **Repository:** <https://codeberg.org/guile/guile>
- **Upstream docs:** <https://www.gnu.org/software/guile/manual>
- **License:** LGPL-3.0-or-later
- **Source archive:** <https://ftpmirror.gnu.org/gnu/guile/guile-3.0.11.tar.xz>
- **Last updated:** 2026-06-22T14:03:40-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- guild (cli)
- guile (cli)
- guile-config (cli)
- guile-snarf (cli)
- guile-tools (cli)
- guild (alias)
- guile (alias)
- guile-config (alias)
- guile-snarf (alias)
- guile-tools (alias)

## Dependencies

- bdw-gc
- gmp
- libtool
- libunistring
- pkgconf
- readline

## Build dependencies

- gnu-sed

## Uses from macOS

- gperf
- libffi
- libxcrypt

## Install behavior

- Post-install hook: not defined
- Caveats: Guile libraries can now be installed here: Source files: $HOMEBREW_PREFIX/share/guile/site/3.0 Compiled files: $HOMEBREW_PREFIX/lib/guile/3.0/site-ccache Extensions: $HOMEBREW_PREFIX/lib/guile/3.0/extensions Add the following to your .bashrc or equivalent: export GUILE_LOAD_PATH="$HOMEBREW_PREFIX/share/guile/site/3.0" export GUILE_LOAD_COMPILED_PATH="$HOMEBREW_PREFIX/lib/guile/3.0/site-ccache" export GUILE_SYSTEM_EXTENSIONS_PATH="$HOMEBREW_PREFIX/lib/guile/3.0/extensions"
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.0.11
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://www.gnu.org/software/guile/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GNU Guile is the GNU project's extension-language platform and an implementation of Scheme designed for embedding, scripting, and standalone programming. It packages an interpreter, compiler, virtual machine, module system, POSIX access, networking, dynamic linking, foreign-function support, and libraries under the Guile toolchain.

### Project history

The Guile manual frames Guile as an attempt to bring the Emacs extension-language model to the broader GNU system: a low-level application core paired with a powerful high-level language that users and developers can extend.

Guile began from Tom Lord's GEL, the GNU Extension Language, which adapted Aubrey Jaffer's SCM Scheme implementation into a reusable embeddable library. The manual traces SCM itself to George Carrette's SIOD, making Guile part of a longer Scheme implementation lineage.

GEL became Guile after a naming conflict, and Richard Stallman endorsed it as the official GNU extension language. Public discussion around Tcl made Guile visible during the 1990s extension-language debate, but the manual is careful to say Guile was not simply a reaction to Tcl; it came from a standing GNU need for a shared embeddable language runtime.

The first maintainer era, from late 1994 through mid-1996, moved Guile from SCM as a standalone program toward an embeddable library and experimented broadly with modules, Tcl/Tk, Java tooling, C-like syntax, and POSIX interfaces. Later maintainers narrowed the focus toward depth, documentation, orthogonality, and a strong core language.

### Adoption history

Guile's adoption within GNU and free-software packaging rests on both policy and practicality: it is the official GNU extension language, but it is also a real Scheme implementation with batteries included for Unix programming. The project site names GNU Guix, GnuCash, Lepton-EDA, and GDB among applications using Guile.

Package-manager adoption is broad because Guile is both a language runtime and a dependency for other GNU tools. The official download page recommends installing from system packages and gives examples for Guix, Debian-derived systems, and Parabola; the input metadata records packaging through Alpine, Homebrew, Fedora-family packages, MacPorts, Nix, Arch, and openSUSE.

### How it is used

Users run Guile scripts, work in a Scheme REPL, build command-line programs, embed Guile in C or C++ applications, and extend applications through Scheme modules. The project page emphasizes desktop, web, command-line, and game use, while also describing Guile as an extension-language platform with a compiler and virtual machine.

For package users, the important executables are `guile`, `guild`, `guile-config`, `guile-snarf`, and `guile-tools`. For developers, Guile's appeal is a practical Scheme with R5RS, much of R6RS, R7RS support, SRFIs, modules, POSIX APIs, networking, threads, dynamic linking, and FFI.

### Why package nerds care

Guile is a foundational package because it is both a language implementation and an extension substrate for other packages. When it changes ABI, compiler behavior, module paths, or supported Scheme standards, downstream build systems and runtime integrations can feel it.

It is also historically important to package-manager culture through GNU Guix, which uses Guile as a configuration and extension language. That connection makes Guile unusually visible to users who care about declarative package management, reproducible builds, and Lisp-family tools in Unix distributions.

### Timeline

- 1994-1996: Tom Lord maintains early Guile/GEL work, moving SCM toward an embeddable GNU extension library.
- 1995-02-04: guile-i release turns SCM into a library.
- 1995-04-06: guile-ii adds a low-level module system, Tcl/Tk support, improved POSIX support, and experimental Java integration.
- 1997-01-05: Guile 1.0 adds cooperative threading, improves debugging, begins manuals, and adds the high-level module interface.
- 2002-09-06: Guile 1.6 gains R5RS support, SRFI modules, and merges GOOPS into core.
- 2006-02-20: Guile 1.8 moves arbitrary-precision arithmetic to GMP, adopts POSIX preemptive threads, and cleans up the C API.
- 2010-02-16: Guile 2.0 adds a virtual machine, compiler, toolchain, Unicode-oriented internationalization, dynamic FFI, and partial R6RS support.
- 2017-03-15: Guile 2.2 rewrites the virtual machine and much of the compiler and toolchain for speed and lower startup cost.
- 2020-01: Guile 3.0 adds native code generation through a simple JIT compiler and improves R7RS/R6RS support.

### Related projects

- Guile is directly related to Scheme, SCM, SIOD, Emacs Lisp, Tcl/Tk debates, GNU Emacs as an extension-language model, GNU Guix, GnuCash, Lepton-EDA, GDB, Geiser, R5RS, R6RS, R7RS, SRFIs, GMP, and libunistring. Its ecosystem also includes many Guile libraries and applications maintained around GNU and Scheme communities.

### Sources

- <https://www.gnu.org/software/guile/>
- <https://www.gnu.org/software/guile/download/>
- <https://www.gnu.org/software/guile/manual/html_node/A-Scheme-of-Many-Maintainers.html>
- <https://www.gnu.org/software/guile/manual/html_node/A-Timeline-of-Selected-Guile-Releases.html>
- <https://www.gnu.org/software/guile/manual/html_node/Early-Days.html>
- <https://www.gnu.org/software/guile/manual/html_node/Guile-and-Scheme.html>
- <https://www.gnu.org/software/guile/manual/html_node/History.html>
- <https://www.gnu.org/software/guile/manual/html_node/The-Emacs-Thesis.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** guile
- **Aliases:** guile@3
- **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

- Nix - guile: normalized package name match | nixpkgs package indexes: guile from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- apk - guile - 3.0.9-r2: normalized package name match | Alpine Linux edge package indexes: guile from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | portable, embeddable Scheme implementation written in C | https://www.gnu.org/software/guile/
- apk - guile-dev - 3.0.9-r2: normalized package name match | Alpine Linux edge package indexes: guile-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | portable, embeddable Scheme implementation written in C (development files) | https://www.gnu.org/software/guile/
- apk - guile-doc - 3.0.9-r2: normalized package name match | Alpine Linux edge package indexes: guile-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | portable, embeddable Scheme implementation written in C (documentation) | https://www.gnu.org/software/guile/
- apk - guile-libs - 3.0.9-r2: normalized package name match | Alpine Linux edge package indexes: guile-libs from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | portable, embeddable Scheme implementation written in C (libraries) | https://www.gnu.org/software/guile/
- apk - guile-readline - 3.0.9-r2: normalized package name match | Alpine Linux edge package indexes: guile-readline from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | portable, embeddable Scheme implementation written in C | https://www.gnu.org/software/guile/
- dnf - compat-guile18 - 1.8.8-50.fc45: normalized package name match | Fedora Rawhide package metadata: compat-guile18 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A GNU implementation of Scheme for application extensibility | http://www.gnu.org/software/guile/
- pacman - guile - 3.0.11-1: normalized package name match | Arch Linux sync databases: guile from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz | Portable, embeddable Scheme implementation written in C | https://www.gnu.org/software/guile/
- zypper - guile - 3.0.9-3.3: normalized package name match | openSUSE Tumbleweed package metadata: guile from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GNU's Ubiquitous Intelligent Language for Extension | https://www.gnu.org/software/guile/
- zypper - guile-devel - 3.0.9-3.3: normalized package name match | openSUSE Tumbleweed package metadata: guile-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GNU's Ubiquitous Intelligent Language for Extension | https://www.gnu.org/software/guile/
- zypper - guile-modules-3_0 - 3.0.9-3.3: normalized package name match | openSUSE Tumbleweed package metadata: guile-modules-3_0 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GNU's Ubiquitous Intelligent Language for Extension | https://www.gnu.org/software/guile/
- zypper - libguile-3_0-1 - 3.0.9-3.3: normalized package name match | openSUSE Tumbleweed package metadata: libguile-3_0-1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GNU's Ubiquitous Intelligent Language for Extension | https://www.gnu.org/software/guile/
- MacPorts - guile: normalized package name match | MacPorts ports tree: lang/guile/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - guile-config: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/gu/guile-config/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line 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.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [libtool](https://www.automicvault.com/pkg/brew/libtool/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Runtime dependency declared by Homebrew.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [akku](https://www.automicvault.com/pkg/brew/akku/) - Popular package that depends on this formula.
- [autogen](https://www.automicvault.com/pkg/brew/autogen/) - Popular package that depends on this formula.
- [guile-gnutls](https://www.automicvault.com/pkg/brew/guile-gnutls/) - Popular package that depends on this formula.
- [lilypond](https://www.automicvault.com/pkg/brew/lilypond/) - Popular package that depends on this formula.
- [mdk](https://www.automicvault.com/pkg/brew/mdk/) - Popular package that depends on this formula.
- [mu](https://www.automicvault.com/pkg/brew/mu/) - Popular package that depends on this formula.
- [shepherd](https://www.automicvault.com/pkg/brew/shepherd/) - Popular package that depends on this formula.
- [chibi-scheme](https://www.automicvault.com/pkg/brew/chibi-scheme/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [chicken](https://www.automicvault.com/pkg/brew/chicken/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [gambit-scheme](https://www.automicvault.com/pkg/brew/gambit-scheme/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [gauche](https://www.automicvault.com/pkg/brew/gauche/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [gerbil-scheme](https://www.automicvault.com/pkg/brew/gerbil-scheme/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [kawa](https://www.automicvault.com/pkg/brew/kawa/) - Shares av.db curated category or tags: cli, gnu, language-runtime, scheme.
- [mit-scheme](https://www.automicvault.com/pkg/brew/mit-scheme/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [scheme48](https://www.automicvault.com/pkg/brew/scheme48/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, scheme.
- [gnu-smalltalk](https://www.automicvault.com/pkg/brew/gnu-smalltalk/) - Local package facts share a topical domain. Shared terms: cli, config, gmp, gnu, interpreter.

## Combined YAML source

View the package source record on GitHub. [combined/guile.yml](https://github.com/automic-vault/db/blob/main/combined/guile.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
