macOS
brew install yaegilocal Homebrew formula metadata
sudo port install yaegiMacPorts ports tree · devel/yaegi/Portfile · 来源: api.github.com
安装
brew install yaegilocal Homebrew formula metadata
sudo port install yaegiMacPorts ports tree · devel/yaegi/Portfile · 来源: api.github.com
sudo apk add yaegiAlpine Linux edge package indexes · yaegi · 来源: dl-cdn.alpinelinux.org
nix profile install nixpkgs#yaeginixpkgs package indexes · pkgs/by-name/ya/yaegi/package.nix · 来源: api.github.com
sudo pacman -S yaegiArch Linux sync databases · yaegi · 来源: geo.mirror.pkgbuild.com
sudo apt install yaegiUbuntu 24.04 LTS package indexes · yaegi · 来源: archive.ubuntu.com
概览
Yet another elegant Go interpreter
历史
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.
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.
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.
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.
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.
安全态势
generalized runtime or code generation signal.
yellow 风险 · 中 置信度 · runtime
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
yaegi | cli | 全局可执行文件 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
https://github.com/traefik/yaegi
安装元数据
| 软件包键 | brew:yaegi |
|---|---|
| 版本 | 0.16.1 |
| 软件包管理器 | Homebrew |
| 软件包管理器页面 | https://formulae.brew.sh/formula/yaegi |
| 主页 | https://github.com/traefik/yaegi |
| 仓库 | https://github.com/traefik/yaegi |
| 上游文档 | https://github.com/traefik/yaegi#readme |
| 许可证 | Apache-2.0 |
| 源码归档 | https://github.com/traefik/yaegi/archive/refs/tags/v0.16.1.tar.gz |
| 最后更新 | 2026-07-25T21:32:48+02:00 |
| Pulse | updated |
| 构建依赖 | go |
| Bottle | 可用 (于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | 未定义 |
| 服务 | 未声明 |
注册表事实
| 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 |
|
源数据库匹配
匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。
yaegi
nix profile install nixpkgs#yaegiyaegi 0.15.1-2
Another Elegant Go Interpreter
https://github.com/traefik/yaegi
sudo apt install yaegiyaegi 0.16.1-r18
Elegant Go interpreter
https://github.com/traefik/yaegi
sudo apk add yaegiyaegi 0.16.1-2
Yet another Elegant Go Interpreter
https://github.com/containous/yaegi
sudo pacman -S yaegiyaegi
sudo port install yaegi来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.