SDK のインストール
dfx
と呼ばれる DFINITY Canister スマートコントラクト SDK の最新バージョンを、以下のようにダウンロードしてインストールすることができます。
dfx
Linux か macOS 12.* Monterey 以降をネイティブサポートしています。
- Install on Mac/Linux
- Install on Windows
dfx
をインストールするには以下を実行してください。 sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
There is no native support for dfx
on Windows. However, by installing the Windows Subsystem for Linux (WSL), you can run dfx
also on a Windows system as described below.
Installing WSL 2
Follow Microsoft's instructions for installing the Windows Subsystem for Linux. Make sure you are running Windows 10 (version 2004 or higher) or Windows 11.
Supported WSL Versions
Theoretically, WSL 1 and WSL 2 should both allow you to run dfx
. However, we recommend WSL 2. WSL Comparison explains the differences between WSL1 and WSL 2.
Check your WSL version
Run the command wsl –list –verbose (wsl -l -v)
to check the Linux distributions installed on your Windows machine. Below is an example output.
NAME STATE VERSION
* Ubuntu Running 2
To learn more about the wsl
command, check the command reference for WSL.
Upgrade from WSL 1
If you have WSL 1 installed, follow the upgrade instructions to upgrade to WSL 2. Basically you need to:
- Install the WSL 2 Linux kernel update package.
- Run the following command to set your Linux distributions to version 2.
wsl --set-version <distribution name> 2
Running Linux
After you have WSL installed, you can launch the Linux distributions by name.
For example Ubuntu.exe
is the command to start the Ubuntu
distribution from the command line.
Installing DFX
Once you have WSL installed, you can install dfx
by running
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
Troubleshooting
Node.js is not properly installed
WSL 2 has node.js 10.x.x
installed by default. But the latest dfx
requires node.js 16.0.0
or higher.
Permission Denied when running dfx start
Projects created from dfx
need to be on the Linux filesystem instead of the Windows filesystem. Usually cd ~
or cd $HOME
in the WSL terminal will bring you to the home directory, and creating projects in there should work.
インストールされるもの
SDK のインストールスクリプトは、ローカルコンピュータのデフォルトの場所にいくつかのコンポーネントをインストールします。 次の表では、スクリプトがインストールする開発環境のコンポーネントについて説明します:
コンポーネント | 概要 | デフォルトの場所 |
---|---|---|
dfx | DFINITY 実行コマンドラインインターフェース (CLI) | /usr/local/bin/dfx |
moc | Motoko ランタイムコンパイラ | ~/.cache/dfinity/versions/<VERSION>/moc |
replica | Internet Computer ローカルネットワークバイナリ | ~/.cache/dfinity/versions/<VERSION>/replica |
uninstall.sh | SDK と全てのコンポーネントの削除スクリプト | ~/.cache/dfinity/uninstall.sh |
versions | SDK の各バージョンのサブディレクトリを含むキャッシュディレクトリ | ~/.cache/dfinity/versions |
versions ディレクトリに含まれる主要コンポーネント
~/.cache/dfinity/versions
ディレクトリには、SDK の各バージョンのサブディレクトリが格納されています。 各バージョンのサブディレクトリには、SDK の特定のバージョンに必要な全てのディレクトリとファイルが含まれています。 例えば、~/.cache/dfinity/versions/0.9.3
ディレクトリの内容をリストアップすると、以下のような主要コンポーネントが表示されます。
total 349192
drwxr-xr-x 17 pubs staff 544 Mar 15 11:55 .
drwxr-xr-x 4 pubs staff 128 Mar 25 14:36 ..
drwxr-xr-x 49 pubs staff 1568 Mar 15 11:55 base
drwxr-xr-x 20 pubs staff 640 Mar 15 11:55 bootstrap
-r-x------ 1 pubs staff 66253292 Mar 15 11:55 dfx
-r-x------ 1 pubs staff 10496256 Dec 31 1969 ic-ref
-r-x------ 1 pubs staff 5663644 Dec 31 1969 ic-starter
-r-x------ 1 pubs staff 9604 Dec 31 1969 libcharset.1.0.0.dylib
-r-x------ 1 pubs staff 38220 Dec 31 1969 libffi.7.dylib
-r-x------ 1 pubs staff 668300 Dec 31 1969 libgmp.10.dylib
-r-x------ 1 pubs staff 958248 Dec 31 1969 libiconv.2.4.0.dylib
-r-x------ 1 pubs staff 4200 Dec 31 1969 libiconv.dylib
-r-x------ 1 pubs staff 96900 Dec 31 1969 libz.1.2.11.dylib
-r-x------ 1 pubs staff 15417684 Dec 31 1969 mo-doc
-r-x------ 1 pubs staff 14634020 Dec 31 1969 mo-ide
-r-x------ 1 pubs staff 15111508 Dec 31 1969 moc
-r-x------ 1 pubs staff 49404128 Dec 31 1969 replica
Motoko base ディレクトリ
SDK の各バージョンのサブディレクトリ内にある base
ディレクトリには、そのバージョンの SDK と互換性のある Motoko のベースライブラリモジュールが含まれています。 Motoko ベースライブラリは急速に進化しているため、インストールした SDK のバージョンにパッケージされているベースモジュールのみを使用する必要があります。
Bootstrap ディレクトリ
bootstrap
ディレクトリにはすでに非推奨となった Web サーバのコードが含まれています。 バージョン 0.7.0 以降、agent は bootstrap
コードの代わりに HTTP ミドルウェアサーバを呼び出すことができるようになりました。 この変更により、canister は HTTP リクエストに直接応答できるようになり、従来のウェブベースのアプリケーションのように操作できるようになりました。
最新バージョンへのアップグレード
最初のインストール後に SDK の新しいバージョンがダウンロードできるようになった場合、最新の修正や拡張機能をいち早く手にするために、更新されたバージョンをできるだけ早くインストールすることを推奨します。 現在インストールされているバージョンと、ダウンロード可能な最新バージョンを比較するには、dfx upgrade
コマンドを使用します。 より新しいバージョンの dfx
が利用可能な場合、dfx upgrade
コマンドによって自動的に最新バージョンをダウンロードしてインストールすることができます。
なお,新しいバージョンをインストールする前に,既存のソフトウェアをアンインストールする必要はありません。 ただし,アップグレードではなくクリーンインストールを行いたい場合は,ソフトウェアのアンインストール で説明しているように,まず既存のソフトウェアをアンインストールしてから,ダウンロードおよびインストールコマンドを実行してください。
最新リリースの機能や修正については、リリースノートをご覧ください。
ソフトウェアのアンインストール
SDK をインストールすると、インストールスクリプトが必要なバイナリファイルをローカルディレクトリに置き、キャッシュを作成します。 .cache
フォルダにある uninstall
スクリプトを実行することで、ローカルコンピュータから SDK のバイナリとキャッシュを削除することができます。
例えば、以下のようにします:
~/.cache/dfinity/uninstall.sh
まっさらな状態の dfx
をすぐに再インストールしたい場合は、以下のコマンドを実行してください:
~/.cache/dfinity/uninstall.sh && sh -ci "$(curl -sSL https://internetcomputer.org/install.sh)"