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