如果您不喜欢使用emsdk下载二进制文件，也可以 build Emscripten from source。
if you’d like to install emscripten using the unofficial packages instead of the officially supported emsdk, see the bottom of the page.
首先，检查下面的关于 Platform-specific notes ，然后安装必要的软件包。
Emscripten SDK (emsdk) 的核心驱动程序是 Python 脚本。 您可以通过以下方式首次获取它
# Get the emsdk repo git clone https://github.com/emscripten-core/emsdk.git # Enter that directory cd emsdk
你也可以不使用Git来获取emsdk，而是在 Github 上下载它.
# Fetch the latest version of the emsdk (not needed the first time you clone) git pull # Download and install the latest SDK tools. ./emsdk install latest # Make the "latest" SDK "active" for the current user. (writes .emscripten file) ./emsdk activate latest # Activate PATH and other environment variables in the current terminal source ./emsdk_env.sh
On Windows, if you use the
activatecommand, the step of
emsdk_env.batis optional. If you want to know more, see activate SDK version.
./emsdk activate latest 和
source ./emsdk_env.sh 命令。
./emsdk install 1.38.45
When installing old versions from before the build infrastructure
rewrite (anything before
1.38.33), you need to write something like
./emsdk install sdk-1.38.20-64bit (add
-64bit) as that
was the naming convention at the time.
There are also “tip-of-tree builds”, which are the very latest code that passes
integration tests on Chromium CI. This is updated much more
frequently than tagged releases, but may be less stable (we tag releases
using a more careful procedure). Tip-of-tree builds may be useful for continuous
integration that uses the emsdk (as Emscripten’s GitHub CI does), and you may
want to use it in your own CI as well, so that if you find a regression on your
project you can report it and prevent it from reaching a tagged release.
Tip-of-builds may also be useful if you want to test a feature that just landed
but didn’t reach a release yet. To use a tip-of-tree build, use the
target, and note that you must specify the backend explicitly,
# Get a tip-of-tree ./emsdk install tot
(In the above examples we installed the various targets; remember to also
activate them as in the full example from earlier.)
Instead of running emscripten on Windows directly, you can use the Windows Subsystem for Linux to run it in a Linux environment.
Emscripten requires macOS 10.14 Mojave or above.
If you use the Emscripten SDK it includes a bundled version of Python 3. Otherwise you will need to manually install and use Python 3.6 or newer.
- Install Xcode from the macOS App Store.
- In Xcode | Preferences | Downloads, install Command Line Tools.
- Download and install latest CMake from Kitware CMake downloads.
Emsdk does not install any tools to the system, or otherwise interact with Linux package managers. All file changes are done inside the emsdk/ directory.
Python is not provided by emsdk. The user is expected to install this beforehand with the system package manager:
# Install Python sudo apt-get install python3 # Install CMake (optional, only needed for tests and building Binaryen or LLVM) sudo apt-get install cmake
If you want to use your system’s Node.js instead of the emsdk’s, it may be
node instead of
nodejs, and you can adjust the
NODE_JS attribute of your
.emscripten file to point to it.
Git is not installed automatically. Git is only needed if you want to use tools from a development branch.
# Install git sudo apt-get install git
The easiest way to verify the installation is to compile some code using Emscripten.
You only need to install the SDK once! After that you can update to the latest SDK at any time using Emscripten SDK (emsdk).
Type the following in a command prompt
# 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 # Activate PATH and other environment variables in the current terminal source ./emsdk_env.sh
The package manager can do many other maintenance tasks ranging from fetching specific old versions of the SDK through to using the versions of the tools on GitHub (or even your own fork). Check out all the possibilities in the “How to” guides.
If you want to remove the whole SDK, just delete the directory containing the SDK.
It is also possible to remove specific tools in the SDK using emsdk.
The entire Emscripten SDK is also available in the form of a docker image. For example:
docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) \ emscripten/emsdk emcc helloworld.cpp -o helloworld.js
See the Docker Hub page for more details and examples.
While we don’t officially support other ways of getting Emscripten, we definitely appreciate the efforts by third parties to package Emscripten for users’ convenience, and we’d like to help out, please get in touch if you are such a packager!
The following is a partial list of such unofficial emscripten packages: