# Installer yaegi avec Homebrew, apk, MacPorts, Nix, pacman, apt

Consultez les chemins d'installation, exécutables, métadonnées et notes de sécurité de yaegi pour les workflows d'agents IA.

## installation

```sh
sudo av install brew:yaegi
```

Commandes d'installation supplémentaires:

### macOS

- Homebrew (100%):

```sh
brew install yaegi
```

  Preuve: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install yaegi
```

  Preuve: MacPorts ports tree: devel/yaegi/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add yaegi
```

  Preuve: Alpine Linux edge package indexes: yaegi from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#yaegi
```

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

- pacman (92%):

```sh
sudo pacman -S yaegi
```

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

- Ubuntu apt (92%):

```sh
sudo apt install yaegi
```

  Preuve: Ubuntu 24.04 LTS package indexes: yaegi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

## Faits du paquet

- **Clé du paquet:** brew:yaegi
- **Gestionnaire de paquets:** Homebrew
- **Page du gestionnaire de paquets:** <https://formulae.brew.sh/formula/yaegi>
- **Version:** 0.16.1
- **Résumé source:** Yet another elegant Go interpreter
- **Page d'accueil:** <https://github.com/traefik/yaegi>
- **Dépôt:** <https://github.com/traefik/yaegi>
- **Licence:** Apache-2.0
- **Archive source:** <https://github.com/traefik/yaegi/archive/refs/tags/v0.16.1.tar.gz>
- **Dernière mise à jour:** 2026-07-25T21:32:48+02:00
- **Généré:** 2026-08-04T22:13:35+00:00

## exécutables

- yaegi (cli)
- yaegi (alias)

## Dépendances de compilation

- go

## Comportement d'installation

- hook post-installation: non défini
- Bouteille: disponible sur arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## Version et fraîcheur

- page générée: 2026-08-04
- version du gestionnaire: 0.16.1
- gestionnaire mis à jour: 2026-07-25
- données locales: OK
- dépôt amont: https://github.com/traefik/yaegi
- dernière version détectée: v0.16.1 (à jour)
## Historique du projet et usages

Yaegi is Traefik Labs' pure-Go interpreter for Go programs. It provides a command-line REPL and script runner, but its deeper package significance is embeddability: Go applications can evaluate Go code at runtime for plugins, scripting, and prototyping without switching to Lua, Python, JavaScript, or a separate DSL.

### Historique du projet

Yaegi was announced in July 2019 by Marc Vertes and the Containous/Traefik team as "Yet Another Go Interpreter", with the E jokingly standing for Elegant, Embedded, Easy, or whatever the reader preferred. The announcement framed it as a way to bring executable Go scripts, embedded plugins, interactive shells, and instant prototyping on top of the Go runtime.

The project's motivation was specific to Go's unusual position: a static, strongly typed compiled language whose parser, type machinery, and reflection facilities are available to Go programs. Yaegi turned that into an interpreter API built around New, Eval, and Use.

The README emphasizes pure Go implementation, standard-library-only design, complete Go specification support, and a safety posture where unsafe and syscall are not exported by default. That made it attractive for embedding in Go applications that need extension points without handing scripts unrestricted process access.

### Historique d'adoption

Yaegi adoption followed two tracks. The visible developer-tool track is the yaegi command, which gives Go users a REPL, executable scripts, and a go-run-like workflow. The infrastructure track is embedding, especially for plugin systems and dynamic extension in Go applications.

Traefik's own ecosystem gave Yaegi a practical showcase: a Go interpreter made by the team behind a cloud-native edge router is naturally suited to runtime extension and plugin workflows. Talks and docs around Yaegi repeatedly mention Traefik Enterprise/plugin motivation alongside the broader goal of filling a missing piece in the Go ecosystem.

Package-manager adoption is modest but broad enough to matter: Yaegi appears in Homebrew, MacPorts, Alpine, Arch, Nix, Ubuntu, and Go package documentation, which makes a Go REPL/installable interpreter available without every user building from source.

### Modes d'utilisation

CLI users run yaegi with no arguments for a REPL, run Go files as interpreted scripts, or use shebang-style executable Go scripts. The README even suggests rlwrap for line editing/history when using the command interactively.

Go developers embed Yaegi by importing the interp package, creating an interpreter, loading stdlib symbols with Use, and evaluating code with Eval. Common scenarios include user-provided automation, policy or routing extensions, prototyping, tests, dynamic plugins, and applications that want Go as their extension language.

### Pourquoi les passionnés de paquets s'y intéressent

Yaegi is package-nerd interesting because it makes Go behave like a scripting language while staying inside the Go toolchain and module ecosystem. Installing yaegi gives a REPL and script runner; depending on the module gives applications a runtime extension engine.

It also occupies a rare niche: most language interpreters package a language runtime, but Yaegi packages an interpreter for a language famous for avoiding runtime dynamism. That tension is exactly why it shows up in package indexes despite being smaller than mainstream language runtimes.

### Chronologie

- 2019-07-27: Traefik/Containous announces Yaegi as an open-source Go interpreter for scripts, embedded plugins, REPL use, and prototyping.
- 2019: Conference talks present Yaegi as a production-oriented Go interpreter and plugin engine for Traefik-related use cases.
- 2020-09-16: Yaegi v0.9.0 release assets appear on GitHub, showing the project moving into packaged binary distribution.
- 2020s: The README documents the stable public API shape around interp.New, Eval, and Use, and the yaegi command becomes packaged across multiple Unix package managers.

### Related projects

- Go is the compiled language and standard library that Yaegi interprets and reuses.
- Traefik and Traefik Enterprise are related through the team and plugin/extension motivation behind Yaegi.
- Lua, Python, JavaScript, Starlark, Tengo, and Go plugins are neighboring choices for embedding scriptability or runtime extension in Go applications.
- rlwrap is commonly paired with the yaegi command for interactive history and line editing.

### Sources

- <https://github.com/traefik/yaegi>
- <https://github.com/traefik/yaegi/releases/tag/v0.9.0>
- <https://golab.io/talks/yaegi-yet-another-elegant-go-interpreter>
- <https://pkg.go.dev/github.com/traefik/yaegi/cmd/yaegi>
- <https://traefik.io/blog/announcing-yaegi-263a1e2d070a>


## Notes de sécurité

generalized runtime or code generation signal.

- **Risque Geiger:** yellow / moyen
- generalized runtime or code generation signal

## Détails de la base source

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

## Autres enregistrements de gestionnaires de paquets

- Nix - yaegi: normalized package name match | nixpkgs package indexes: pkgs/by-name/ya/yaegi/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - yaegi - 0.15.1-2: normalized package name match | Ubuntu 24.04 LTS package indexes: yaegi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Another Elegant Go Interpreter | https://github.com/traefik/yaegi
- apk - yaegi - 0.16.1-r19: normalized package name match | Alpine Linux edge package indexes: yaegi from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Elegant Go interpreter | https://github.com/traefik/yaegi
- pacman - yaegi - 0.16.1-2: normalized package name match | Arch Linux sync databases: yaegi from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Yet another Elegant Go Interpreter | https://github.com/containous/yaegi
- MacPorts - yaegi: normalized package name match | MacPorts ports tree: devel/yaegi/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Liens liés

- [Source-control packages](https://pkg.so/fr/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://pkg.so/fr/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/fr/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://pkg.so/fr/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [go](https://pkg.so/fr/brew/go/) - Build dependency declared by Homebrew.
- [ryelang](https://pkg.so/fr/brew/ryelang/) - Shares pkgdb curated category or tags: cli, go, language-runtime, repl, scripting.
- [cpi](https://pkg.so/fr/brew/cpi/) - Shares pkgdb curated category or tags: cli, interpreter, language-runtime, repl, scripting.
- [ruby](https://pkg.so/fr/brew/ruby/) - Shares pkgdb curated category or tags: cli, interpreter, language-runtime, scripting.
- [lua](https://pkg.so/fr/brew/lua/) - Shares pkgdb curated category or tags: cli, interpreter, language-runtime, scripting.
- [gauche](https://pkg.so/fr/brew/gauche/) - Shares pkgdb curated category or tags: cli, interpreter, language-runtime, scripting.
- [lua@5.4](https://pkg.so/fr/brew/lua-5-4/) - Shares pkgdb curated category or tags: cli, interpreter, language-runtime, scripting.
- [mawk](https://pkg.so/fr/brew/mawk/) - Shares pkgdb curated category or tags: cli, interpreter, language-runtime, scripting.
- [ammonite-repl](https://pkg.so/fr/brew/ammonite-repl/) - Shares pkgdb curated category or tags: cli, language-runtime, repl, scripting.
- [bic](https://pkg.so/fr/brew/bic/) - Local package facts share a topical domain. Shared terms: cli, interpreter, language, language-runtime, repl.
- [woxi](https://pkg.so/fr/brew/woxi/) - Local package facts share a topical domain. Shared terms: cli, interpreter, language, language-runtime, repl.
- [wren-cli](https://pkg.so/fr/brew/wren-cli/) - Local package facts share a topical domain. Shared terms: cli, language, language-runtime, repl, runtime.

## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
