ToC
Tweet
Full Screen
Content
Communities
Users
Projects
Crowdfunding
Wallet
Language
Help Center
Go Offline
HiÐΞOnline

[Dfinity] dfxのバージョン変更がややこしい件について

hoko𝕊ugi
2日前

DFINITYコマンドライン実行環境(dfx)でバージョン変更するのに手間が掛かるのとややこしいので自分のめも代わりに書いておきます。

基本型(現在のバージョン確認)

dfx --version
// dfx 0.8.0

cache(バージョン一覧)

dfx cache list
// 0.7.1
// 0.7.2
// 0.8.0 *
// 0.8.3
// 0.8.4

このcacheはSDKダウンロードを以下のコマンドでバージョン指定してあげたもののみ表示されます。

DFX_VERSION=0.8.4 sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

指定しないコマンドでは最新のバージョンがダウンロードされます。

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

さてここからがややこしかったのですが、上記のバージョン指定コマンドでダウンロードしても自動でインストールはされません。 インストールするには

dfx cache install

です。 通常はdfxコマンドを使いたいフォルダからインストールもすると思いますが、dfx.jsonのバージョンと同じバージョンしかインストールしてくれません。恐らく、dfx.jsonのバージョンのみが有効で上記のコマンドが他のバージョンでは打てないからだと推測しています。
ですので、dfx.jsonのバージョンをインストールしたいバージョンに書き換えてコマンドを打つ必要があります。若しくはdfx.jsonのないホームディレクトリ等からならインストール出来ます。

dfx command

これでインストールを終えるとバージョン一覧で確認できます。

dfx cache list
// 0.7.1
// 0.7.2
// 0.8.1 *
// 0.8.3
// 0.8.4

*印が現在のバージョンです。dfx.jsonのバージョンを変えて、またdfx cache listを打ってみましょう。その値に*印が変更されているはずです。

上記はgithubからcloneしたレポジトリを起動させるためにバージョンを合わせるために使う私独自の方法です。

他にいい方法があったら教えてください!こちらまで @hokosugi


Comments
Likes
Tips
Latest
Popular
hoko𝕊ugi
2日前
Comments
Likes
Tips
Latest
Popular