DFX を Windows にインストールする
Windows 上では dfx はネイティブにサポートされていません。しかし、Windows Subsystem for Linux (WSL) をインストールすることによって、以下に述べるように dfx を Windows システム上でも動作させることができます。
WSL をインストールする
マイクロソフト社の説明書に従って、Windows Subsystem for Linux をインストールします。Windows 10(Ver.2004 以降)または Windows 11 が動作していることを確認してください。
サポートされている WSL のバージョン
理論的には、WSL1 と WSL2 はどちらも dfx を実行できるはずです。しかし、我々は WSL2 を推奨します。WSL比較 では、WSL1 とWSL2 の違いについて説明しています。
WSL バージョンををチェックする
wsl -list -verbose (wsl -l -v) というコマンドを実行すると、Windows マシンにインストールされている Linux ディストリビューションを確認することができます。以下は出力例です。
NAME STATE VERSION
* Ubuntu Running 2
wsl コマンドの詳細については、コマンドリファレンス for WSL を参照してください。
WSL2 にアップグレードする
WSL1 をインストールしている場合は、アップグレード手順 に従ってWSL2 にアップグレードしてください。基本的には以下の作業が必要です:
- WSL2 Linux カーネルアップデートパッケージ をインストールします。
- 以下のコマンドを実行し、Linux ディストリビューションをバージョン2 に設定します。
wsl --set-version <distribution name> 2
Linux を起動する
WSLをインストールした後、Linux ディストリビューションの名前で起動することができます。
例えば、Ubuntu.exe は、コマンドラインから Ubuntu ディストリビューションを起動するコマンドです。
DFX をインストールする
WSL をインストールしたら、SDKのインストール にあるように、WSL の Linux 端末内に dfx をインストールすることができます。
トラブルシューティング
Node.js が正しくインストールされない
WSL2 では、デフォルトで node.js 10.x.x がインストールされています。しかし、最新の dfx には 16.0.0 以降の node.js が必要です。詳しくは Node.js を確認してください。
dfx start の実行時にパーミッションが拒否される
dfx から作成するプロジェクトは、Windows のファイルシステムではなく、Linux のファイルシステム上にある必要があります。通常、WSL ターミナルで cd ~ または cd $HOME を実行すると、ホームディレクトリに移動し、そこにプロジェクトを作成することができます。
WSL でインターネットに接続できない
WSL でインターネットにアクセスできない場合、例えば、どのサーバーにもうまく ping を打てない場合、おそらく WSL 上のネームサーバーは、WSL 内部のプロキシネームサーバーに設定されています。その場合は、/etc/resolv.conf ファイルを確認することができます。もし、そうであれば、以下の手順で、有効なネームサーバーに設定してください。
/etc/wsl.confファイルを作成し、以下の内容を追加します。これにより、WSL が再起動後に/etc/resolv.confファイルを再生成するのを防ぐことができます。[network]
generateResolvConf = false/etc/resolv.confファイルのネームサーバーを、例えば google のネームサーバー8.8.8.8のように、有効なものに変更します。- Windowsでは、この修正を有効にするために WSL を再起動します。
wsl.exe --shutdown