安装、升级或删除软件

如链接中所述快速启动,您可以通过在终端 shell 中运行命令来下载并安装最新版本的 DFINITY Canister 智能合约 SDK 包。 本节中的主题提供有关安装、升级和删除 {sdk-short-name} 的其他信息。

直接从终端安装最新版本

要从终端 shell 下载和安装:

  1. 在本地计算机上打开终端 shell。

    例如,在 macOS 上打开 Applications 文件夹,然后打开 Utilities 并双击 Terminal

  2. 通过运行以下 curl 命令下载并安装 SDK 包:

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

从终端安装特定版本

如果要安装特定版本,例如,针对以前的版本进行测试,您可以修改安装命令以包含一个版本。

要从终端 shell 下载和安装特定版本:

  1. 在本地计算机上打开终端 shell。

  2. DFX_VERSION 环境变量设置为要安装的 {sdk-short-name} 包的版本,作为 curl 命令的前缀。

    例如,要安装 0.9.2 版,您将运行以下命令:

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

注释:如果您使用 DFX_VERSION 环境变量安装尚未公开的 {sdk-short-name} 版本,请参阅此article 了解更改的概述。

安装了什么

{sdk-short-name} 安装脚本会在本地计算机的默认位置安装多个组件。 下表描述了安装脚本安装的开发环境组件:

Component Description Default location

dfx

DFINITY execution command-line interface (CLI)

/usr/local/bin/dfx

moc

Motoko runtime compiler

~/.cache/dfinity/versions/<VERSION>/moc

replica

Internet Computer local network binary

~/.cache/dfinity/versions/<VERSION>/replica

uninstall.sh

Script to remove the {sdk-short-name} and all of its components

~/.cache/dfinity/uninstall.sh

versions

Cache directory that contains a subdirectory for each version of the {sdk-short-name} you install.

~/.cache/dfinity/versions

版本目录中的核心组件

~/.cache/dfinity/versions 目录存储了 {sdk-short-name} 的一个或多个版本化子目录。 每个版本化的子目录都包含特定版本的 {sdk-short-name} 所需的所有目录和文件。 例如,如果您列出 ~/.cache/dfinity/versions/0.9.2 目录的内容,您会看到以下核心组件:

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 基本目录

{sdk-short-name} 的版本化子目录中的 base 目录包含与该版本 {sdk-short-name} 兼容的 Motoko 基础库模块。 因为 Motoko 基础库发展迅速,您应该只使用与您已安装的 {sdk-short-name} 版本打包的基础模块。

引导目录

bootstrap 目录包含已弃用的 Web 服务器代码。 从 0.7.0 版开始,代理可以调用 HTTP 中间件服务器而不是“引导”代码。 此更改使容器能够直接响应 HTTP 请求并更像传统的基于 Web 的应用程序一样运行。

升级到最新版本

如果在初始安装后有新版本的 {sdk-short-name} 可供下载,您应该尽早安装更新版本,以便尽快获得最新的修复和增强功能。 您可以使用 dfx upgrade 命令将您当前安装的版本与可供下载的最新版本进行比较。 如果有更新版本的`dfx` 可用,dfx upgrade 命令会自动下载并安装最新版本。

请注意,您无需在安装新版本之前卸载软件。 但是,如果您想执行全新安装而不是升级,您可以先按照外部参照:remove[删除软件]中的说明卸载软件,然后重新运行下载和安装命令。

有关最新版本中的功能和修复的信息,请参阅外部参考:release-notes:sdk-release-notes.adoc[Release notes]。

删除软件

安装 {sdk-short-name} 时,安装脚本会将所需的二进制文件放在本地目录中并创建缓存。 您可以通过运行位于 .cache 文件夹中的 uninstall 脚本从本地计算机中删除 SDK 二进制文件和缓存。

例如:

~/.cache/dfinity/uninstall.sh

如果您因为想立即重新安装干净版本的 dfx 而卸载,可以运行以下命令:

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