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​

dfx 是 IC SDK 的一部分。

dfxvm 是 dfx 版本管理工具,用来安装、更新、删除和切换不同版本 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.0 的 dfx 执行。如果未安装指定的版本,dfx 将报错。

卸载指定版本​

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

从源码编译​

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

有问题么?​

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

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

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

    info

    https://forum.dfinity.org/ ,可以 cue 我们:Ben,Paul,Vincent ,Herbert。

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

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