ソフトウェアのインストール・アップグレード・削除

クイックスタートで説明したように、ターミナルシェルでコマンドを実行することで、DFINITY Canister スマートコントラクト SDK パッケージの最新バージョンをダウンロードしてインストールすることができます。 このセクションでは、DFINITY Canister SDK のインストール、アップグレード、および削除に関する追加情報を提供します。

ターミナルから直接最新版をインストールする

ターミナルシェルからダウンロードしてインストールする場合、以下のような手順となります:

  1. ローカルコンピューターでターミナルシェルを開きます。

    例えば、macOSの場合、「アプリケーション」フォルダーを開き、「ユーティリティ」を開いて「Terminal」をダブルクリックします。

  2. `curl`コマンドを実行して、SDKパッケージをダウンロードし、インストールします:

    sh -ci "$(curl -fsSL https://smartcontracts.org/install.sh)"

ターミナルから特定のバージョンをインストールする

以前のバージョンと比較してテストするときなど、特定のバージョンをインストールしたい場合は、バージョン名を含めたインストールコマンドを実行します。

以下のようにして、ターミナルシェルから特定のバージョンをダウンロードしてインストールすることができます:

  1. ローカルコンピューターでターミナルシェルを開きます。

  2. 環境変数である DFX_VERSION に、curl コマンドのプレフィックスとしてインストールしたい DFINITY Canister SDK パッケージのバージョンを設定します。

    例えば、バージョン 0.9.3 をインストールするには、以下のコマンドを実行します:

    DFX_VERSION=0.9.3 sh -ci "$(curl -fsSL https://smartcontracts.org/install.sh)"
環境変数 DFX_VERSION を使用して、まだ一般に公開されていないバージョンの DFINITY Canister SDK をインストールしている場合は、変更点の概要についてこの 記事を参照してください。

インストールされるもの

DFINITY Canister 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

DFINITY Canister SDK と全てのコンポーネントの削除スクリプト

~/.cache/dfinity/uninstall.sh

versions

DFINITY Canister SDK の各バージョンのサブディレクトリを含むキャッシュディレクトリ。

~/.cache/dfinity/versions

versions ディレクトリに含まれる主要コンポーネント

~/.cache/dfinity/versions ディレクトリには、DFINITY Canister SDK の各バージョンのサブディレクトリが格納されています。 各バージョンのサブディレクトリには、DFINITY Canister 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 ディレクトリ

DFINITY Canister SDK の各バージョンのサブディレクトリ内にある base ディレクトリには、そのバージョンのDFINITY Canister SDK と互換性のあるMotoko のベースライブラリモジュールが含まれています。 Motoko ベースライブラリは急速に進化しているため、インストールした DFINITY Canister SDK のバージョンにパッケージされているベースモジュールのみを使用する必要があります。

Bootstrap ディレクトリ

bootstrap ディレクトリにはすでに非推奨となった Web サーバのコードが含まれています。 バージョン 0.7.0 以降、agent は bootstrap コードの代わりに HTTP ミドルウェアサーバを呼び出すことができるようになりました。 この変更により、canister は HTTP リクエストに直接応答できるようになり、従来のウェブベースのアプリケーションのように操作できるようになりました。

最新バージョンへのアップグレード

最初のインストール後に DFINITY Canister SDK の新しいバージョンがダウンロードできるようになった場合、最新の修正や拡張機能をいち早く手にするために、更新されたバージョンをできるだけ早くインストールすることを推奨します。 現在インストールされているバージョンと、ダウンロード可能な最新バージョンを比較するには、dfx upgrade コマンドを使用します。 より新しいバージョンの dfx が利用可能な場合、dfx upgrade コマンドによって自動的に最新バージョンをダウンロードしてインストールすることができます。

なお,新しいバージョンをインストールする前に,既存のソフトウェアをアンインストールする必要はありません。 ただし,アップグレードではなくクリーンインストールを行いたい場合は,ソフトウェアのアンインストール で説明しているように,まず既存のソフトウェアをアンインストールしてから,ダウンロードおよびインストールコマンドを実行してください。

最新リリースの機能や修正については、リリースノートをご覧ください。

ソフトウェアのアンインストール

DFINITY Canister SDK をインストールすると、インストールスクリプトが必要なバイナリファイルをローカルディレクトリに置き、キャッシュを作成します。 .cache フォルダにある uninstall スクリプトを実行することで、ローカルコンピュータから SDK のバイナリとキャッシュを削除することができます。

例えば、以下のようにします:

~/.cache/dfinity/uninstall.sh

まっさらな状態の dfx をすぐに再インストールしたい場合は、以下のコマンドを実行してください:

~/.cache/dfinity/uninstall.sh && sh -ci "$(curl -sSL https://smartcontracts.org/install.sh)"