Automic VaultAutomic Vault

brew

使用 Homebrew, chocolatey, apt, MacPorts, Nix, pacman, scoop 安装 emscripten

查看 emscripten 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

安装

其他安装命令

macOS

Homebrew已验证 · 100%
brew install emscripten

local Homebrew formula metadata

MacPorts已验证 · 94%
sudo port install emscripten

MacPorts ports tree · lang/emscripten/Portfile · 来源: api.github.com

Windows

Chocolatey已验证 · 92%
choco install emscripten

Chocolatey community package catalog · emscripten · 来源: community.chocolatey.org

Scoop已验证 · 92%
scoop install main/emscripten

Scoop official bucket manifest trees · bucket/emscripten.json · 来源: api.github.com

概览

软件包摘要

LLVM bytecode to JavaScript compiler

命令和别名

  • bootstrap
  • em++
  • em-config
  • emar
  • embuilder
  • emcc
  • emcmake
  • emconfigure
  • emdwp
  • emmake
  • emnm
  • empath-split
  • emprofile
  • emranlib
  • emrun
  • emscan-deps
  • emscons
  • emsize
  • emstrip
  • emsymbolizer
  • wasm32-clang
  • wasm32-clang++
  • wasm32-wasi-clang
  • wasm32-wasi-clang++

历史

项目历史与用法

Emscripten is the long-running LLVM-based toolchain that made C and C++ code practical to ship into JavaScript and then WebAssembly environments. Its README describes it as compiling C and C++ to WebAssembly using LLVM and Binaryen, with output that runs on the web, in Node.js, and in standalone wasm runtimes.

For package users, Emscripten is not just one compiler binary: it is a full porting toolchain with `emcc`, `em++`, build-system wrappers, archive tools, runtime helpers, ports, and a cache. Installing it from a package manager gives developers a local system toolchain, while the project itself still recommends the Emscripten SDK as the easiest way to get started.

项目历史

The public GitHub repository dates to 2011, and the project grew around the idea that LLVM IR could be lowered into browser-executable output. As WebAssembly became the standard target, Emscripten's documented model shifted toward producing a wasm module plus JavaScript loader code, while still retaining browser, Node.js, and runtime integration layers.

The Emscripten README ties the project closely to LLVM, Binaryen, Clang, OpenGL, SDL2, and the broader portable-native-code ecosystem. Its license notes also reflect the project's LLVM relationship, including the later switch to the LLVM wasm backend.

采用历史

Emscripten became important because it turned existing native codebases into web-deployable artifacts rather than forcing rewrites. The project documentation points to large graphical and application ports, including Unity WebGL and Google Earth, as examples of the kind of portable API support it targets.

Its command-line shape made it familiar to Unix package users: `emcc` is presented as something to run like `gcc` or `clang`, and companion tools such as `emcmake` and `emconfigure` let existing C/C++ build systems cross-compile with limited ceremony.

使用方式

Typical use starts with compiling a C or C++ file through `emcc`, producing JavaScript plus a WebAssembly module, or generating an HTML harness for browser testing. Larger projects commonly enter through build wrappers such as `emcmake`, `emconfigure`, and `emmake`.

The toolchain matters beyond browsers because Emscripten documents output for Node.js, Deno, Bun, and wasm runtimes. That makes it a package-manager fixture for developers who need reproducible local builds of wasm artifacts from native code.

为什么软件包爱好者会关心

Emscripten is one of the canonical examples of a package that is both a compiler and a small ecosystem: it brings a sysroot, ports, compiler frontends, JS glue generation, cache behavior, and version-sensitive ABI expectations. Its changelog explicitly warns that ABI compatibility is not guaranteed across versions and that rebuilds may be needed after upgrades.

For maintainers, Emscripten is interesting because it sits at the crossing of LLVM release behavior, browser platform changes, WebAssembly proposals, and ordinary package-manager expectations. Keeping it packaged means tracking a fast-moving compiler stack while preserving the simple user promise of `emcc hello.c -o hello.js`.

时间线

  • 2011: Public GitHub repository created for Emscripten.
  • 2010s: Emscripten became a common route for porting native C/C++ applications and libraries to the web.
  • WebAssembly era: The documented default model centers on producing wasm modules with JavaScript loader code.
  • 2026: The 6.x release series continued active development, including toolchain, browser-target, Node.js, and wasm feature changes.

Related projects

  • LLVM and Clang provide the compiler foundation used by Emscripten.
  • Binaryen is part of the documented WebAssembly toolchain used by Emscripten.
  • SDL2, OpenGL support, Unity WebGL, and Google Earth are cited by the project as examples or beneficiaries of the porting model.
  • Rust can integrate with Emscripten through the `wasm32-unknown-emscripten` target.

安全态势

风险级别:绿色

narrow executable package without higher-risk signals.

风险分类器

绿色 风险 · 低 置信度 · appliance

原因

  • narrow executable package without higher-risk signals

信号

  • metadata:no-higher-risk-signals

安装行为

  • Homebrew 为此 formula 声明了 post-install 钩子。
  • Homebrew bottle 元数据适用于 6 个平台目标。
  • 安装时包含 4 个运行时依赖。
  • 构建元数据列出 1 个构建依赖。

建议审查

在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
.emscripten~/.emscripten$EM_CONFIG

可执行文件

已安装的可执行文件

命令类型暴露范围备注
bootstrapcli全局可执行文件
em++cli全局可执行文件
em-configcli全局可执行文件
emarcli全局可执行文件
embuildercli全局可执行文件
emcccli全局可执行文件
emcmakecli全局可执行文件
emconfigurecli全局可执行文件
emdwpcli全局可执行文件
emmakecli全局可执行文件
emnmcli全局可执行文件
empath-splitcli全局可执行文件
emprofilecli全局可执行文件
emranlibcli全局可执行文件
emruncli全局可执行文件
emscan-depscli全局可执行文件
emsconscli全局可执行文件
emsizecli全局可执行文件
emstripcli全局可执行文件
emsymbolizercli全局可执行文件
wasm32-clangcli全局可执行文件
wasm32-clang++cli全局可执行文件
wasm32-wasi-clangcli全局可执行文件
wasm32-wasi-clang++cli全局可执行文件

新鲜度

版本和新鲜度

这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。

页面生成时间2026-07-25
管理器版本6.0.3
管理器更新时间2026-07-14
本地数据OK
上游当前
检测到的最新版本6.0.3

https://github.com/emscripten-core/emscripten

  • OK没有生成新鲜度警告。

安装元数据

软件包元数据

软件包键brew:emscripten
版本6.0.3
软件包管理器Homebrew
软件包管理器页面https://formulae.brew.sh/formula/emscripten
主页https://emscripten.org/
仓库https://github.com/emscripten-core/emscripten
上游文档https://emscripten.org/docs
许可证Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND (MIT OR NCSA)
源码归档https://github.com/emscripten-core/emscripten/archive/refs/tags/6.0.3.tar.gz
最后更新2026-07-14T16:36:43Z
Pulseupdated
依赖node, openjdk, python@3.14, yuicompressor
构建依赖cmake
Bottle可用 (于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-install已定义
服务未声明

注册表事实

源数据库详情

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameemscripten
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

源数据库匹配

其他软件包管理器记录

匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。

Debian apt95%

emscripten 3.1.69+dfsg-3

LLVM-to-JavaScript Compiler

http://emscripten.org/

sudo apt install emscripten
  • Section: devel
  • Architecture: all
  • 8 依赖
  • 1 提供
  • 11 可选依赖
  • normalized package name match
  • 匹配方式:Emscripten
Debian stable package indexes · deb.debian.org · Debian stable package indexes: emscripten from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

emscripten-doc 3.1.69+dfsg-3

LLVM-to-JavaScript Compiler (documentation)

http://emscripten.org/

sudo apt install emscripten-doc
  • Section: doc
  • Architecture: all
  • Source Package: emscripten
  • 4 依赖
  • normalized package name match
  • 匹配方式:Emscripten
Debian stable package indexes · deb.debian.org · Debian stable package indexes: emscripten-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

emscripten

nix profile install nixpkgs#emscripten
  • normalized package name match
  • 匹配方式:Emscripten
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: emscripten from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

emscripten 3.1.6~dfsg-7

LLVM-to-JavaScript Compiler

http://emscripten.org/

sudo apt install emscripten
  • Section: universe/devel
  • Architecture: all
  • 7 依赖
  • 1 提供
  • 11 可选依赖
  • normalized package name match
  • 匹配方式:Emscripten
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: emscripten from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

emscripten-doc 3.1.6~dfsg-7

LLVM-to-JavaScript Compiler

http://emscripten.org/

sudo apt install emscripten-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: emscripten
  • normalized package name match
  • 匹配方式:Emscripten
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: emscripten-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
pacman95%

emscripten 6.0.0-1

Compile C and C++ into highly-optimizable JavaScript for the web

https://emscripten.org

sudo pacman -S emscripten
  • License: custom
  • Architecture: x86_64
  • 6 依赖
  • 1 提供
  • 3 可选依赖
  • normalized package name match
  • 匹配方式:Emscripten
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: emscripten from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

emscripten

sudo port install emscripten
  • normalized package name match
  • 匹配方式:Emscripten
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/emscripten/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

emscripten

choco install emscripten
  • normalized package name match
  • 匹配方式:Emscripten
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: emscripten from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','electron'
Scoop95%

main/emscripten

scoop install main/emscripten
  • normalized package name match
  • 匹配方式:Emscripten
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/emscripten.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
MacPorts94%

em

sudo port install em
  • installed executable or alias match
  • 匹配方式:Em
MacPorts ports tree · api.github.com · MacPorts ports tree: editors/em/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Nix92%

em

nix profile install nixpkgs#em
  • installed executable or alias match
  • 匹配方式:Em
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/em/em/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

来源线索

由仓库数据生成

此页面由 av-webscripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。

使用的来源

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment