Skip to main content

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 にアップグレードしてください。基本的には以下の作業が必要です:

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