Emscripten SDK ( emsdk
) 用于执行所有 SDK 维护工作。您只需安装一次 SDK;之后 emsdk 可以完成所有后续更新!
使用 emsdk,您可以下载、安装或删除任何 SDK 或 工具,甚至使用 GitHub 上开发中的最新版本。要访问 Windows 上的 emsdk,首先启动 Emscripten 命令提示符。大多数操作的格式为 ./emsdk command
。
本文档提供了命令语法以及 一组指南,解释了如何执行常见和高级的维护操作。
./emsdk [help | list [–old] | update | install <tool/sdk> | uninstall <tool/sdk> | activate <tool/sdk>]
命令 |
描述 |
---|---|
|
列出所有当前 SDK 和工具及其安装状态。使用 |
|
获取所有可用工具和 SDK 的最新列表(但不安装它们)。 |
|
下载并安装 指定的工具或 SDK。 |
|
从磁盘中删除 指定的工具或 SDK。 |
|
将 指定的工具或 SDK 设置为系统环境中的默认工具。在 Linux 上,您还需要使用 |
|
列出所有支持的命令。如果没有指定命令,则会输出相同的列表。 |
注意
对于 Linux 和 macOS,命令使用 ./emsdk 调用。在 Windows 上使用 emsdk。
上面作为命令参数给出的 <tool/sdk>
是使用 ./emsdk list
(或 ./emsdk list --old
)列出的目标之一。
请注意,某些工具和 SDK 名称包含 master 或 main:这些目标用于克隆和拉取来自 Emscripten 主分支和 master 分支的最新版本。
您还可以指定 latest
目标来获取最新的 SDK。
Emscripten 工具链包含许多不同的工具,包括 Clang、Emscripten、Java、Git、Node 等。Emsdk 是一个小型包管理器,用于控制安装哪些工具,以及从安装的工具集中,哪些工具处于活动状态。
使用 ./emsdk list
列出当前可用的 工具 和 SDK。这些可以单独安装(./emsdk install node-0.10.17-64bit
)或作为一组安装(./emsdk install node-0.10.17-64bit java-7.45-64bit
)。
The SDK targets are a convenience mechanism for specifying the full set of tools used by a particular Emscripten release. For example, the two lines below are equivalent
./emsdk install sdk-upstream-main-64bit
./emsdk install git-1.8.3 clang-upstream-main-64bit node-0.10.17-64bit python-2.7.5.3-64bit java-7.45-64bit llvm-git-main-64bit emscripten-main-64bit
然后,可以将某个已安装的 SDK(或工具)设置为 活动,这意味着它将在运行 Emscripten 时使用。活动的“编译器配置”存储在 emsdk 目录内的配置文件(.emscripten)中。
注意
emsdk 管理的不同工具和 SDK 存储在您首次安装 SDK 时指定的根文件夹下的不同目录中,按工具和版本分组。
编译器配置文件 代表 emsdk 存储 活动 配置。活动配置定义了在 Emscripten 命令提示符 上调用 Emscripten 时默认使用的特定工具集。
配置文件名为 .emscripten。它是 emsdk 特定的,因此它不会与用户可能在其系统上的其他任何地方拥有的配置文件冲突。
除非您要 从源代码构建 Emscripten,否则一般不应直接更新该文件。相反,请使用 emsdk 按需激活特定的 SDK 和工具(emsdk activate <tool/SDK>
)。
以下是 emsdk 创建的可能 .emscripten 文件的示例。注意用于指向不同工具的变量名称
# .emscripten file from Windows SDK
import os
LLVM_ROOT='C:/Program Files/Emscripten/clang/e1.21.0_64bit'
NODE_JS='C:/Program Files/Emscripten/node/0.10.17_64bit/node.exe'
# .emscripten file from Linux SDK
import os
NODE_JS = 'nodejs'
LLVM_ROOT='/home/ubuntu/emsdk/upstream/bin'
以下主题解释了如何执行常见和高级的维护操作,从安装最新 SDK 到安装您自己的 GitHub 分支。
注意
以下示例显示了 Linux 和 macOS 的命令。Windows 上的命令相同,但您需要将 ./emsdk 替换为 emsdk。
使用 update
参数获取当前可用的工具注册表,然后指定 latest
安装目标以获取最新的 SDK
# Fetch the latest registry of available tools.
./emsdk update
# Download and install the latest SDK tools.
./emsdk install latest
# Set up the compiler configuration to point to the "latest" SDK.
./emsdk activate latest
使用 ./emsdk help
或仅使用 ./emsdk
获取有关所有可用命令的信息。
要获取所有当前安装的工具和 SDK 版本(以及所有可用工具)的列表,请运行
./emsdk list
每个可供安装的工具和 SDK 都会打印一行。已安装的工具将显示文本 INSTALLED
。如果工具/SDK 当前处于活动状态,则会在其旁边显示星号 (*)。
使用 install
参数下载并安装新的工具或 SDK 版本
./emsdk install <tool/sdk name>
例如
./emsdk install sdk-1.38.21-64bit
注意
已安装的工具存在于本地机器上,但不一定是活动环境。要使已安装的 SDK 处于活动状态,请使用 activate
命令。
使用 uninstall
参数从本地计算机删除给定的工具或 SDK
./emsdk uninstall <tool/sdk name>
如果您想从系统中完全删除 Emscripten,请按照 卸载 Emscripten SDK 中的指南操作。
首先使用 update
命令获取所有新工具和 SDK 版本的包信息。然后使用 install <tool/sdk name>
安装新版本
# Fetch the latest registry of available tools.
./emsdk update
# Download and install the specified new version.
./emsdk install <tool/sdk name>
使用 activate 命令在不同的工具和 SDK 版本之间切换。这将设置 .emscripten
以指向该特定工具
./emsdk activate <tool/sdk name>
# On Linux and macOS, also set the environment variables.
source ./emsdk_env.sh
注意
在 Linux 和 macOS 上,activate
会将所需信息写入配置文件,但无法自动在当前终端中设置环境变量。为此,您需要在调用 activate
后调用 source ./emsdk_env.sh
。使用 source
是 Unix shell 的一项安全功能。
在 Windows 上,调用 activate
会自动设置所需的路径和环境变量。
注意
如果您将 ./emsdk_env.sh
添加到您的默认 shell 配置中,emsdk 工具(包括 emsdk 版本的 node)将被添加到您的 PATH 中,这可能会影响您系统上使用的默认 node 版本。
Emsdk 包含旧工具和 SDK 的历史记录,您可以使用它们来维护您的迁移路径。使用 list --old
参数获取归档工具和 SDK 版本的列表,并使用 install <name_of_tool>
安装特定工具。
# Get list of the old versions of the tool.
./emsdk list --old
# Install the required version.
./emsdk install <name_of_tool>
# Activate required version.
./emsdk activate <name_of_tool>
要尝试 emsdk 的最新变化,您可以安装和激活一个名为 tot
(Tip-Of-Tree)的特殊版本,该版本是持续构建的,通常包含 Emscripten 和 LLVM 的更改,这些更改在提交后仅几小时就会出现。
./emsdk install tot
./emsdk activate tot
如果您想从最新的源代码自己构建所有内容,您可以使用 sdk-main-64bit
。
# Install git (Skip if the system already has it).
./emsdk install git-1.8.3
# Clone+pull the latest emscripten-core/emscripten/main.
./emsdk install sdk-main-64bit
# Set this as the active version.
./emsdk activate sdk-main-64bit
还可以通过 SDK 使用您自己的 Emscripten 存储库分支。当您想对 Emscripten 工具链进行自己的修改,但仍然想使用 SDK 环境和工具时,这很有用。
要做到这一点,您只需将 EM_CONFIG
环境变量设置为指向 emsdk emscripten 配置,然后将您自己的 emscripten 检出放在 PATH
的首位。
cd my_emscripten/
# Tell emscripten to use the emsdk config file
export EM_CONFIG=/path/to/emsdk/.emscripten
# Now your version of emscripten will use LLVM and binaryen
# binaries from the currently active version of emsdk.
./emcc