dfx build
IC にデプロイできるようにプログラムを WebAssembly モジュールにコンパイルするには dfx build
コマンドを使用します。 このコマンドはプロジェクトの dfx.json
設定ファイルや特定の Canister に定義されているすべてのプログラムをコンパイルするために使用することができます。
このコマンドはプロジェクトのディレクトリ構造内からのみ実行できることに注意してください。 例えばプロジェクト名が hello_world
の場合、現在の作業ディレクトリは hello_world
のトップレベルのプロジェクトディレクトリかそのサブディレクトリのいずれかでなければなりません。
dfx build
コマンドは設定ファイル dfx.json
の canisters
セクションで設定された情報を元に、コンパイルするソースコードを探します。
基本的な利用法
dfx build [flag] [option] [--all | canister_name]
フラグ
dfx build
コマンドでは、以下のオプションフラグを使用することができます。
フラグ | 説明 |
---|---|
--check | {platform}に接続せずにプログラムのコンパイルをテストします。一時的なハードコードされたローカル定義の Canister id を使用して Canister を構築します。 |
-h , --help | 利用情報を表示します。 |
-V , --version | バージョン情報を表示します。 |
オプション
dfx build
コマンドには以下のオプションを指定することができます。
オプション | 説明 |
---|---|
--network <network> | 接続したいネットワークのエイリアスまたは URL を指定します。このオプションを使用すると dfx.json 設定ファイルで指定されたネットワークを上書きします。 |
引数
dfx build
コマンドには以下の引数を指定することができます。
引数 | 説明 |
---|---|
--all | プロジェクトの dfx.json ファイルで設定されたすべての Canister をビルドします。 |
canister_name | ビルドしたい Canister の名前を指定します。--all オプションをもし使用しない場合、引数なしの dfx build を使用するか、引数に Canister 名を指定します( Canister 名はプロジェクトの dfx.json 設定ファイルの canisters セクションで設定した名前と少なくともひとつは一致しなければなりません)。 |
例
dfx build
コマンドを使うと dfx.json
設定ファイルの canisters
キーで指定したプログラムからひとつまたは複数の WebAssembly モジュールをビルドすることができます。 例えば、こちらのように dfx.json
設定ファイルに hello_world
Canister と hello_world_assets
Canister がひとつずつ定義されている場合、 dfx build
を実行すると二つの WebAssembly モジュールがコンパイルされます。
ファイルシステム上のプログラムのファイル名とパスは、dfx.json
設定ファイルで指定された情報と一致する必要があることに注意してください。
この例では、 hello_world
Canister にメインプログラムのコードが hello_world_assets
Canister にフロントエンドのコードとアセットが格納されています。 もし、dfx.json
ファイルで定義された hello_world_assets
Canister はそのままにして、バックエンドのプログラムだけをビルドしたい場合は、以下のコマンドを実行すれば可能です:
dfx build hello_world
特定の Canister をビルドすることは dfx.json ファイルに複数の Canister が定義されていて、Canister に対する操作を個別にテストおよびデバッグしたい場合に便利です。
{platform}やローカルの Canister 実行環境に接続せずに Canister がコンパイルされるかどうかをテストするには、以下のコマンドを実行します:
dfx build --check