注記
emsdk を使用したバイナリのダウンロードではなく、ソースから Emscripten をビルドすることもできます。ソースからのビルド
ヒント
公式にサポートされている emsdk の代わりに、非公式のパッケージを使用して emscripten をインストールする場合は、ページ下部を参照してください。
まず、以下のプラットフォーム固有の注記を確認し、必要な前提条件をインストールしてください。
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 ページで「Clone or download => Download ZIP」を選択して emsdk を取得することもできます。
GitHub から最新のツールを取得し、アクティブとして設定するには、次のemsdkコマンドを実行します。
# 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注記
Windows では、
./emsdk
の代わりにemsdk.bat
を、source ./emsdk_env.sh
の代わりにemsdk_env.bat
を実行します。注記
Windows で
activate
コマンドを使用する場合は、emsdk_env.bat
のステップは省略可能です。詳細については、SDK バージョンのアクティブ化を参照してください。注記
git pull
は現在のタグのリストを取得しますが、ごく最近のタグはまだ存在しない場合があります。./emsdk update-tags
を実行して、タグのリストを直接更新できます。
SDK の場所を変更した場合(例:USB で別のコンピュータに移動した場合)、./emsdk activate latest
と source ./emsdk_env.sh
コマンドを再実行してください。
上記の説明では、最新のタグ付きリリースである latest
をインストールしてアクティブ化するように emsdk に指示しました。多くの場合、これが望ましい動作です。
特定のバージョンを指定してインストールすることもできます。例:
./emsdk install 1.38.45
注記
ビルドインフラストラクチャの書き換え前(1.38.33
より前のバージョン)の古いバージョンをインストールする場合は、./emsdk install sdk-1.38.20-64bit
のように記述する必要があります(sdk-
と -64bit
を追加)。これが当時の命名規則でした。
統合テストに合格した最新のコードである「tip-of-tree ビルド」もあります。Chromium CI。これはタグ付きリリースよりもはるかに頻繁に更新されますが、安定性が高くない場合があります(手動でリリースをタグ付けし、より慎重な手順を使用しています)。Tip-of-tree ビルドは、emsdk を使用する継続的インテグレーション(Emscripten の GitHub CI のように)に役立ち、独自の CI でも使用することをお勧めします。これにより、プロジェクトで回帰が見つかった場合にそれを報告し、タグ付きリリースに到達するのを防ぐことができます。Tip-of-ビルドは、リリースされていないばかりの機能をテストする場合にも役立ちます。Tip-of-tree ビルドを使用するには、tot
ターゲットを使用し、バックエンドを明示的に指定する必要があることに注意してください。
# Get a tip-of-tree ./emsdk install tot
(上記の例では、さまざまなターゲットをインストールしました。前の完全な例のように、それらをactivate
することも忘れないでください。)
Python 3.6 以降をインストールします(GitHub の SSL に関する変更により、古いバージョンは機能しない可能性があります)。
注記
Windows で直接 emscripten を実行する代わりに、Windows Subsystem for Linux を使用して Linux 環境で実行できます。
注記
Emscripten は macOS 10.14 Mojave 以降が必要です。
Emscripten SDK を使用する場合、バンドルされた Python 3 のバージョンが含まれています。それ以外の場合は、手動で Python 3.6 以降をインストールして使用する必要があります。
これらの手順では、必要なツールをすべてインストールする方法について説明します。これらのツールの一部が既にインストールされているかどうかをテストし、それらの手順をスキップできます。
*Xcode コマンドラインツール* をインストールします。これは *git* の前提条件です。
macOS App Store から Xcode をインストールします。
**Xcode | 環境設定 | ダウンロード** で、*コマンドラインツール* をインストールします。
*git* をインストールします
Xcode と Xcode コマンドラインツールをインストールします(既に実行されているはずです)。これにより、*git* がシステムの PATH に追加されます(この stackoverflow の投稿を参照)。
https://git.dokyumento.jp/ から git を直接ダウンロードしてインストールします。
まだインストールしていない場合は *cmake* をインストールします
Kitware CMake ダウンロードから最新の CMake をダウンロードしてインストールします。
注記
*Emsdk* は、システムにツールをインストールしたり、Linux パッケージマネージャと対話したりしません。すべてのファイルの変更は **emsdk/** ディレクトリ内で行われます。
*Python* は *emsdk* によって提供されません。ユーザーは、*システムパッケージマネージャ* を使用して事前にインストールする必要があります。
# Install Python
sudo apt-get install python3
# Install CMake (optional, only needed for tests and building Binaryen or LLVM)
sudo apt-get install cmake
注記
emsdk の代わりにシステムの Node.js を使用する場合、node
ではなく nodejs
になる可能性があり、.emscripten
ファイルの NODE_JS
属性を調整してそれを指すようにできます。
*Git* は自動的にインストールされません。Git は、開発ブランチからツールを使用する場合にのみ必要です。
# Install git
sudo apt-get install git
インストールを検証する最も簡単な方法は、Emscripten を使用してコードをコンパイルすることです。
Emscripten チュートリアルに進むことができますが、ビルドに問題がある場合は、Emscripten 開発環境の検証の基本的なテストとトラブルシューティングの手順を実行する必要があります。
ヒント
SDK は一度インストールするだけで済みます!その後は、いつでもEmscripten SDK (emsdk)を使用して最新の 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
# Activate PATH and other environment variables in the current terminal
source ./emsdk_env.sh
パッケージマネージャは、SDK の特定の古いバージョンを取得することから、GitHub 上のツールのバージョン(または独自のフォーク)を使用することまで、多くのメンテナンスタスクを実行できます。「使用方法」ガイドで、すべての可能性を確認してください。
SDK 全体を取り除くには、SDK を含むディレクトリを削除するだけです。
emsdk を使用して SDK 内の特定のツールを削除することも可能です。
Emscripten SDK 全体も、docker イメージとして利用できます。例:
docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) \
emscripten/emsdk emcc helloworld.cpp -o helloworld.js
詳細と例については、Docker Hub のページを参照してください。
注記
Emscriptenを使用する唯一の公式サポート方法であり、Emscriptenプロジェクトによってサポートされ、継続的にテストされている唯一の方法はemsdkです(emsdk CI、Emscripten GitHub CI、Chromium CI)。
他のEmscriptenの入手方法については公式にはサポートしていませんが、サードパーティによるEmscriptenのパッケージ化の取り組みは高く評価しており、お手伝いしたいと考えています。パッケージを作成されている方は、ぜひご連絡ください!
以下は、そのような非公式Emscriptenパッケージの一部です。
パッケージ情報:chocolatey内のemscripten
メンテナー:@aminya
メンテナー:@chenrui333
パッケージ情報:https://archlinux.org/packages/extra/x86_64/emscripten
メンテナー:Sven-Hendrik Haase <svenstaro@archlinux.org>