Skip to main content

如何安装 IC SDK

SDK

概览

在 IC 上进行开发时,您将主要使用到以下两个工具:

  • dfx 用于创建、部署和管理容器的命令行工具。
  • 容器开发工具包(CDK),它提供了一个用于在不同编程语言中编写容器代码并支持 IC 功能的环境。 当前支持的 CDK 包括:

IC SDK 组件

IC SDK 安装脚本会在您的本地计算机上的默认位置安装多个组件,具体信息请参考如下表格。

组件描述默认位置
dfx命令行工具~/.local/share/bin/dfx
dfxvm命令行工具~/.local/share/bin/dfxvm
versions缓存目录,包含安装的每个 SDK 版本的子目录。~/.cache/dfinity/versions
mocMotoko 编译器~/.cache/dfinity/versions/<VERSION>/moc
replicaIC 本地网络二进制文件~/.cache/dfinity/versions/<VERSION>/replica

安装 IC SDK

dfxIC SDK 的一部分。

dfxvmdfx 版本管理工具,用来安装、更新、删除和切换不同版本 dfx 的命令行工具。更多关于 dfxvm 的信息可以参考相关文档

你可以通过运行以下命令来下载并安装最新版本的 IC SDK。

IC SDK 在 Linux 或 macOS 12.* Monterey 或更高版本上有原生支持。请运行以下命令安装 IC SDK 的最新版本:

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

如果您使用的是搭载 Apple Silicon 芯片的机器,您需要安装 Rosetta。您可以在命令行中运行 softwareupdate --install-rosetta 来安装 Rosetta。

IC SDK 版本目录中的核心组件

~/.cache/dfinity/versions 目录存储了 IC SDK 的一个或多个带有版本号的子目录。每个带版本号的子目录包含特定版本的 IC SDK 所需的所有目录和文件。例如,如果您列出 ~/.cache/dfinity/versions/0.21.0 目录的内容,您将看到以下核心组件:

total 443488
drwxr-xr-x 2 pubs staff 4096 Jul 24 15:23 base
-r-x------ 1 pubs staff 12271032 Jan 1 1970 canister_sandbox
-r-x------ 1 pubs staff 142330808 Jul 24 15:23 dfx
-r-x------ 1 pubs staff 24508624 Jan 1 1970 ic-admin
-r-x------ 1 pubs staff 9813024 Jan 1 1970 ic-btc-adapter
-r-x------ 1 pubs staff 8416048 Jan 1 1970 ic-https-outcalls-adapter
-r-x------ 1 pubs staff 18148808 Jan 1 1970 ic-nns-init
-r-x------ 1 pubs staff 20552080 Jan 1 1970 ic-starter
-r-x------ 1 pubs staff 22368208 Jan 1 1970 icx-proxy
-r-x------ 1 pubs staff 15910752 Jan 1 1970 mo-doc
-r-x------ 1 pubs staff 15422616 Jan 1 1970 mo-ide
-r-x------ 1 pubs staff 21433912 Jan 1 1970 moc
-r-x------ 1 pubs staff 52973296 Jan 1 1970 pocket-ic
-r-x------ 1 pubs staff 79457488 Jan 1 1970 replica
-r-x------ 1 pubs staff 2165192 Jan 1 1970 sandbox_launcher
-r-x------ 1 pubs staff 8326448 Jan 1 1970 sns

Motoko base 目录

IC SDK 的带版本号的子目录中的 base 目录包含与该版本 SDK 兼容的 Motoko 基础库模块。由于 Motoko 基础库正在快速发展,您应该使用与您安装的 SDK 版本一起打包的基础模块。

dfxvm 命令

这里我们只介绍一些 dfxvm 的简单用法,更多关于 dfxvm 的信息可以参考相关文档

安装指定版本

您可以通过 dfxvm install 命令安装指定版本的 IC SDK。

您也可以通过执行安装脚本,并提供环境变量 DFX_VERSION 以安装制定版本的 IC SDK。例如,您可以运行以下命令安装:

DFX_VERSION=0.19.0 sh -ci "$(curl -sSL https://internetcomputer.org/install.sh)"

更新至最新版本

您可以使用 dfxvm update 命令将当前安装的版本更新至最新版本。

如果有更新的 dfx 版本,该命令会自动下载并安装。如果您想要了解最新版本所包含的功能和修复内容,请查阅更新说明

如果在您安装 IC SDK 后有新版本可供下载,您应该尽快安装更新的版本、以获得最新的修复和功能。

在更新版本之前,您无需卸载软件。如果您希望进行全新安装而不是升级,您可以按照卸载指定版本 进行卸载,然后重新运行下载和安装命令。

指定默认版本

如果您要设置全局默认的 dfx 版本,请使用 dfxvm default 命令。

如果在项目 dfx.json 的关键字 dfx 中指定了版本,IC SDK 将始终运行该版本。例如,如果您的 dfx.json 文件包含 "dfx": "0.19.0",则在该项目目录下运行的任何 dfx 命令都将由版本为 0.19.0dfx 执行。如果未安装指定的版本,dfx 将报错。

卸载指定版本

您可以通过 dfxvm uninstall 删除某个指定版本的 dfx。

从源码编译

如果您想自行编译 dfx,请前往 IC SDK repo。仓库的 README 文件中包含了构建指南,请按照说明自行编译。

有问题么?

欢迎大家随时向我们提出任何技术问题。我们会尽力尽快回应

  1. 上网比较方便的,在 ICP China 的 Twitter Community,用中文发帖提问

  2. 有经验的开发者在 DFINITY 基金会运营的开发者论坛上用英文提问

    info

    https://forum.dfinity.org/ ,可以 cue 我们:BenPaulVincentHerbert

  3. 深度 ICP 用户可以在 OpenChat 上的 IC123.xyz Community 里的频道 ic123.xyz 工作组 里提问题

    欢迎您申请 DFINITY 基金会的 Developer Grant 项目,加入互联网计算机的大家庭!