

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 安装 AWS SAM CLI
<a name="install-sam-cli"></a>

按照中的说明在支持的操作系统上安装最新版本的 AWS Serverless Application Model 命令行界面 (AWS SAMCLI) [步骤 4：安装 AWS CLI](prerequisites.md#prerequisites-install-cli)。

有关管理当前安装版本的信息 AWS SAMCLI，包括如何升级、卸载或管理夜间版本，请参阅[管理 AWS SAM CLI 版本](manage-sam-cli-versions.md)。

**这是您第一次安装 AWS SAM CLI？**  
在继续操作之前，请完成上一节中的所有[先决条件](prerequisites.md)。这包括：  
注册一个 AWS 账户。
设置安全访问权限 AWS。
创建访问密钥 ID 和秘密访问密钥。
正在安装 AWS CLI.
配置 AWS 凭证。

**Topics**
+ [安装 AWS SAM CLI](#install-sam-cli-instructions)
+ [排查 安装错误](#sam-cli-troubleshoot-install)
+ [后续步骤](#install-sam-cli-next-steps)
+ [可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)

## 安装 AWS SAM CLI
<a name="install-sam-cli-instructions"></a>

**注意**  
从 2023 年 9 月起， AWS 将不再维护 AWS SAMCLI (`aws/tap/aws-sam-cli`) 的 AWS 托管Homebrew安装程序。如果您Homebrew使用安装和管理 AWS SAMCLI，请参阅以下选项：  
要继续使用 Homebrew，您可以使用社区托管的安装程序。有关更多信息，请参阅 [使用 Homebrew 管理 AWS SAM CLI](manage-sam-cli-versions.md#manage-sam-cli-versions-homebrew)。
我们建议使用本页中记录的第一方安装方法之一。在使用其中一种方法之前，请参阅 [从 Homebrew 切换](manage-sam-cli-versions.md#manage-sam-cli-versions-switch)。
有关更多详细信息，请参阅 [Release version: 1.121.0](https://github.com/aws/aws-sam-cli/releases)。

 要安装 AWS SAMCLI，请按照操作系统的说明进行操作。

### Linux
<a name="install-sam-cli-instructions-linux"></a>

------
#### [ x86\$164 - command line installer ]

1. 将 [AWS SAM CLI .zip 文件](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip)下载到所选目录。

1. **（可选）**您可以在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1. 将安装文件解压缩到您选择的目录中。以下是使用 `sam-installation` 子目录的示例。
**注意**  
如果您的操作系统没有内置的 **unzip** 命令，请使用等效命令。

   ```
   $ unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
   ```

1. 通过运行 `install` 可执行文件安装 AWS SAM CLI。该可执行文件位于上一步骤中使用的目录中。以下是使用 `sam-installation` 子目录的示例：

   ```
   $ sudo ./sam-installation/install
   ```

1. 验证安装。

   ```
   $ sam --version
   ```

   要确认安装成功，您应该会看到一个输出，该输出将以下括号内的文本替换为最新的可用版本：

   ```
    SAM CLI, <latest version>
   ```

------
#### [ arm64 - command line installer ]

1. 将 [AWS SAM CLI .zip 文件](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-arm64.zip)下载到所选目录。

1. **（可选）**您可以在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1. 将安装文件解压缩到您选择的目录中。以下是使用 `sam-installation` 子目录的示例。
**注意**  
如果您的操作系统没有内置的 **unzip** 命令，请使用等效命令。

   ```
   $ unzip aws-sam-cli-linux-arm64.zip -d sam-installation
   ```

1. 通过运行 `install` 可执行文件安装 AWS SAM CLI。该可执行文件位于上一步骤中使用的目录中。以下是使用 `sam-installation` 子目录的示例：

   ```
   $ sudo ./sam-installation/install
   ```

1. 验证安装。

   ```
   $ sam --version
   ```

   要确认安装成功，您应该会看到如下所示的输出，但其中括号内的文本将替换为最新的 SAM CLI 版本：

   ```
    SAM CLI, <latest version>
   ```

------

### macOS
<a name="install-sam-cli-instructions-macos"></a>

#### 安装步骤
<a name="install-sam-cli-instructions-macos-steps"></a>

使用软件包安装程序安装 AWS SAMCLI。此外，软件包安装程序提供两种安装方法让您选择：**GUI** 和**命令行**。您可以为**所有用户**安装，也可以只为**当前用户**安装。要为所有用户安装，需要获得超级用户授权。

**注意**  
AWS SAM CLI 不支持 macOS 13.x 之前的 macOS 版本。升级到支持的 macOS 版本或使用安装 CL AWS SAM I。Homebrew

------
#### [ GUI - All users ]

**下载软件包安装程序并安装 AWS SAMCLI**
**注意**  
 如果您之前通过 Homebrew 或 pip 安装了 AWS SAM CLI，则需要先将其卸载。有关说明，请参阅[卸载 AWS SAM CLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall)。

1.  将 macOS `pkg` 下载到您选择的目录：
   +  **对于运行英特尔处理器的 Mac，请选择 x86** [\$164 —-x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[对于运行 Apple 芯片的 Mac，请选择 arm64 —-arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**注意**  
（可选）您可以选择在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1.  运行您下载的文件，然后按照屏幕上的说明继续完成**简介**、**自述**和**许可**步骤。

1.  在**目标选择**中，选择**为这台计算机的所有用户安装**。

1.  在**安装类型**中，选择 AWS SAM CLI 要安装的位置，然后按下**安装**。推荐的默认位置是 `/usr/local/aws-sam-cli`。
**注意**  
 要使用 **sam** 命令调用 AWS SAM CLI，安装程序会自动在 `/usr/local/bin/sam` 和 `/usr/local/aws-sam-cli/sam` 或您选择的安装文件夹之间创建符号链接。

1.  AWS SAM CLI 将进行安装，系统将显示**安装成功**消息。按下**关闭**。

**验证安装是否成功**
+  通过运行以下命令验证 AWS SAM CLI 是否已正确安装以及符号链接是否已配置：

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ GUI - Current user ]

**下载并安装 AWS SAMCLI**
**注意**  
 如果您之前通过 Homebrew 或 pip 安装了 AWS SAM CLI，则需要先将其卸载。有关说明，请参阅[卸载 AWS SAM CLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall)。

1.  将 macOS `pkg` 下载到您选择的目录：
   +  **对于运行英特尔处理器的 Mac，请选择 x86** [\$164 —-x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[对于运行 Apple 芯片的 Mac，请选择 arm64 —-arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**注意**  
（可选）您可以选择在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1.  运行您下载的文件，然后按照屏幕上的说明继续完成**简介**、**自述**和**许可**步骤。

1.  对于**目标选择**，选择**仅为我安装**。如果没有看到此选项，请转到下一步。

1.  对于**安装类型**，请执行以下操作：

   1. 选择 AWS SAM CLI 要安装的位置。默认位置是 `/usr/local/aws-sam-cli`。选择您拥有写入权限的位置。要更改安装位置，请选择**本地**并选择您的位置。完成后按下**继续**。

   1.  如果您在上一步中没有看到**仅为我安装**的选项，请选择**更改安装位置** > **仅为我安装**，然后按下**继续**。

   1.  按下**安装**。

1.  AWS SAM CLI 将进行安装，系统将显示**安装成功**消息。按下**关闭**。

**要创建符号链接**
+  要使用 **sam** 命令调用 AWS SAM CLI，您必须在 AWS SAM CLI 程序和您的 `$PATH` 之间手动创建符号链接。通过修改并运行以下命令来创建符号链接：

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo*— 如果您的用户具有写入权限`$PATH`，则**sudo**不是必需的。否则，**sudo** 是必需的。
  +  *path-to*— AWS SAMCLI 程序安装位置的路径。例如 `/Users/myUser/Desktop`。
  +  *path-to-symlink-directory*— 您的`$PATH`环境变量。默认位置是 `/usr/local/bin`。

**验证安装是否成功**
+  通过运行以下命令验证 AWS SAM CLI 是否已正确安装以及符号链接是否已配置：

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - All users ]

**下载并安装 AWS SAMCLI**
**注意**  
 如果您之前通过 Homebrew 或 pip 安装了 AWS SAM CLI，则需要先将其卸载。有关说明，请参阅[卸载 AWS SAM CLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall)。

1.  将 macOS `pkg` 下载到您选择的目录：
   +  **对于运行英特尔处理器的 Mac，请选择 x86** [\$164 —-x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[对于运行 Apple 芯片的 Mac，请选择 arm64 —-arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**注意**  
（可选）您可以选择在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1.  修改并运行安装脚本：

   ```
   $ sudo installer -pkg path-to-pkg-installer/name-of-pkg-installer -target /
   installer: Package name is AWS SAM CLI
   installer: Upgrading at base path /
   installer: The upgrade was successful.
   ```
**注意**  
 要使用 **sam** 命令调用 AWS SAM CLI，安装程序会自动在 `/usr/local/bin/sam` 和 `/usr/local/aws-sam-cli/sam` 之间创建符号链接。

**验证安装是否成功**
+  通过运行以下命令验证 AWS SAM CLI 是否已正确安装以及符号链接是否已配置：

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------
#### [ Command line - Current user ]

**下载并安装 AWS SAMCLI**
**注意**  
 如果您之前通过 Homebrew 或 pip 安装了 AWS SAM CLI，则需要先将其卸载。有关说明，请参阅[卸载 AWS SAM CLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall)。

1.  将 macOS `pkg` 下载到您选择的目录：
   +  **对于运行英特尔处理器的 Mac，请选择 x86** [\$164 —-x86\$164.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-x86_64.pkg) 
   +  **[对于运行 Apple 芯片的 Mac，请选择 arm64 —-arm64.pkg aws-sam-cli-macos](https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-macos-arm64.pkg)** 
**注意**  
（可选）您可以选择在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1.  确定您有写入权限的安装目录。然后，使用模板创建 `xml` 文件并对其进行修改以反映您的安装目录。目录必须已经存在。

    例如，如果*path-to-my-directory*替换为`/Users/myUser/Desktop`，则`aws-sam-cli`程序文件夹将安装在那里。

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>path-to-my-directory</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1.  保存 `xml` 文件并通过运行以下命令验证其是否有效：

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -showChoicesAfterApplyingChangesXML path-to-your-xml-file
   ```

    输出应显示将应用于 AWS SAM CLI 程序的首选项。

1.  运行以下命令来安装 AWS SAMCLI：

   ```
   $ installer -pkg path-to-pkg-installer \
   -target CurrentUserHomeDirectory \
   -applyChoiceChangesXML path-to-your-xml-file
   
   # Example output
   installer: Package name is AWS SAM CLI
   installer: choices changes file 'path-to-your-xml-file' applied
   installer: Upgrading at base path base-path-of-xml-file
   installer: The upgrade was successful.
   ```

**要创建符号链接**
+  要使用 **sam** 命令调用 AWS SAM CLI，您必须在 AWS SAM CLI 程序和您的 `$PATH` 之间手动创建符号链接。通过修改并运行以下命令来创建符号链接：

  ```
  $ sudo ln -s /path-to/aws-sam-cli/sam /path-to-symlink-directory/sam
  ```
  +  *sudo*— 如果您的用户具有写入权限`$PATH`，则**sudo**不是必需的。否则，**sudo** 是必需的。
  +  *path-to*— AWS SAMCLI 程序安装位置的路径。例如 `/Users/myUser/Desktop`。
  +  *path-to-symlink-directory*— 您的`$PATH`环境变量。默认位置是 `/usr/local/bin`。

**验证安装是否成功**
+  通过运行以下命令验证 AWS SAM CLI 是否已正确安装以及符号链接是否已配置：

  ```
  $ which sam
  /usr/local/bin/sam
  $ sam --version
  SAM CLI, <latest version>
  ```

------

### Windows
<a name="install-sam-cli-instructions-windows"></a>

Windows 安装程序 (MSI) 文件是 Windows 操作系统的软件包安装程序文件。

按照以下步骤使用 MSI 文件安装 AWS SAM CLI。

1. 下载 AWS SAM CLI [64 位版本](https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi)。

1. **（可选）**您可以在安装前验证安装程序的完整性。有关说明，请参阅[可选：验证 AWS SAMCLI 安装程序的完整性](reference-sam-cli-install-verify.md)。

1. 验证安装。

   安装完成后，打开新的命令提示符或 PowerShell 提示符进行验证。您应该能够从命令行调用 `sam`。

   ```
   sam --version
   ```

   成功安装后 AWS SAMCLI，您应该会看到如下输出：

   ```
   SAM CLI, <latest version>
   ```

1. 启用长路径（仅限 Windows 10 及更高版本）。
**重要**  
 AWS SAMCLI可能会与超过 Windows 最大路径限制的文件路径进行交互。由于 Windows 10 的 **MAX\$1PATH** 限制，这可能会在运行 `sam init` 时导致错误。若要解决此问题，必须配置新的长路径行为。

   要启用长路径，请参阅 *Microsoft Windows 应用程序开发文档*中的[在 Windows 10 版本 1607 及更高版本中启用长路径](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later)。

1. 安装 Git。

   要使用 `sam init` 命令下载示例应用程序，还必须安装 Git。有关说明，请参见[安装 Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)。

## 排查 安装错误
<a name="sam-cli-troubleshoot-install"></a>

### Linux
<a name="sam-cli-troubleshoot-install-linux"></a>

#### Docker 错误：“无法连接到 Docker 进程守护程序。Docker 进程守护程序是否在此主机上运行？”
<a name="serverless-sam-cli-install-linux-troubleshooting-docker-deamon"></a>

在某些情况下，要为 `ec2-user` 提供访问 Docker 进程守护程序的权限，您可能需要重新启动实例。如果您收到此错误，请尝试重启实例。

#### Shell 错误：“找不到命令”
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-not-found"></a>

如果您收到此错误，则表示 Shell 无法在路径中找到 AWS SAM CLI 可执行文件。验证 AWS SAM CLI 可执行文件安装目录的位置，然后验证该目录是否位于路径中。

#### AWS SAMCLI错误：“/lib64/libc.so.6：找不到 `GLIBC\$12.14'版本（/.so.1 必填）” usr/local/aws-sam-cli/dist/libz
<a name="serverless-sam-cli-install-linux-troubleshooting-sam-cli-missing-lib"></a>

如果您收到此错误，则表示您使用的是不受支持的 Linux 版本，并且内置的 glibc 版本已过时。请尝试以下任一方法：
+ 将您的 Linux 主机升级到最新的 64 位 CentOS、Fedora、Ubuntu 或 Amazon Linux 2 发行版。
+ 按照 [安装 AWS SAM CLI](#install-sam-cli) 的说明进行操作。

### macOS
<a name="sam-cli-troubleshoot-install-macos"></a>

#### 安装失败
<a name="sam-cli-troubleshoot-install-macos-install-failed"></a>

![\[AWS SAM CLI 安装程序的映像，其中显示安装失败消息\]](http://docs.aws.amazon.com/zh_cn/serverless-application-model/latest/developerguide/images/sam-cli-troubleshoot-install-macos-install-failed.jpg)


 如果您是在为用户安装 AWS SAM CLI，并且选择了您没有写入权限的安装目录，则可能会出现此错误。请尝试以下任一方法：

1.  选择您具有写入权限的其他安装目录。

1.  删除安装程序。然后重新下载并运行安装程序。

## 后续步骤
<a name="install-sam-cli-next-steps"></a>

要了解有关 AWS SAM CLI 的更多信息并开始构建自己的无服务器应用程序，请参阅以下内容：
+ [教程：使用以下命令部署 Hello World 应用程序 AWS SAM](serverless-getting-started-hello-world.md)— 下载、构建和部署基本无服务器应用程序的 Step-by-step说明。
+ [完整 AWS SAM 研讨会](https://catalog.workshops.aws/complete-aws-sam/en-US) —旨在向您传授所 AWS SAM 提供的许多主要功能的研讨会.
+ [AWS SAM 示例应用程序和模式](https://serverlessland.com/patterns?framework=AWS+SAM) — 来自社区作者的示例应用程序和模式，您可以进一步进行实验。