

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

# 管理 AWS SAM CLI 版本
<a name="manage-sam-cli-versions"></a>

通过升级、降级和卸载来管理您的 AWS Serverless Application Model 命令行界面 (AWS SAMCLI) 版本。或者，您可以下载并安装 AWS SAM CLI 每夜构建版本。

**Topics**
+ [升级 AWS SAM CLI](#manage-sam-cli-versions-upgrade)
+ [卸载 AWS SAM CLI](#manage-sam-cli-versions-uninstall)
+ [从使用 Homebrew 切换到管理 AWS SAM CLI](#manage-sam-cli-versions-switch)
+ [管理 AWS SAM CLI 每夜构建版本](#manage-sam-cli-versions-nightly-build)
+ [使用 pip 在虚拟环境中安装 AWS SAM CLI](#manage-sam-cli-versions-install-virtual)
+ [使用 Homebrew 管理 AWS SAM CLI](#manage-sam-cli-versions-homebrew)
+ [问题排查](#manage-sam-cli-versions-troubleshoot)

## 升级 AWS SAM CLI
<a name="manage-sam-cli-versions-upgrade"></a>

### Linux
<a name="manage-sam-cli-versions-upgrade-linux"></a>

要在 Linux 上升级 AWS SAM CLI，请按照 [安装 AWS SAM CLI](install-sam-cli.md#install-sam-cli-instructions) 中的安装说明进行操作，但要在安装命令中添加 `--update` 选项，如下所示：

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

### macOS
<a name="manage-sam-cli-versions-upgrade-macos"></a>

 AWS SAMCLI必须使用与安装方法相同的方法进行升级。我们建议您使用软件包安装程序来安装和升级 AWS SAMCLI。

 要使用软件包安装程序升级 AWS SAM CLI，请安装最新的软件包版本。有关说明，请参阅[安装 AWS SAM CLI](install-sam-cli.md#install-sam-cli-instructions)。

### Windows
<a name="manage-sam-cli-versions-upgrade-windows"></a>

要升级 AWS SAMCLI，请[安装 AWS SAM CLI](install-sam-cli.md)再次重复中的 Windows 安装步骤。

## 卸载 AWS SAM CLI
<a name="manage-sam-cli-versions-uninstall"></a>

### Linux
<a name="manage-sam-cli-versions-uninstall-linux"></a>

要在 Linux 上卸载 AWS SAM CLI，必须运行以下命令删除符号链接和安装目录：

1. 找到符号链接和安装路径。
   + 使用 **which** 命令查找符号链接：

     ```
     which sam
     ```

     输出显示 AWS SAM 二进制文件所在的路径，例如：

     ```
      /usr/local/bin/sam
     ```
   + 使用 **ls** 命令查找符号链接指向的目录：

     ```
     ls -l /usr/local/bin/sam
     ```

     在下面的示例中，安装目录为 `/usr/local/aws-sam-cli`。

     ```
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/sam -> /usr/local/aws-sam-cli/current/bin/sam
     ```

1. 删除符号链接。

   ```
   sudo rm /usr/local/bin/sam
   ```

1. 删除安装目录。

   ```
   sudo rm -rf /usr/local/aws-sam-cli
   ```

### macOS
<a name="manage-sam-cli-versions-uninstall-macos"></a>

使用与安装相同的方法卸载 AWS SAM CLI。我们建议您使用软件包安装程序来安装 AWS SAMCLI。

如果您已使用软件包安装程序安装 AWS SAM CLI，请按照以下步骤卸载。

**要卸载 AWS SAM CLI**

1.  通过修改并运行以下命令删除 AWS SAM CLI 程序：

   ```
   $ sudo rm -rf /path-to/aws-sam-cli
   ```

   1.  *sudo*— 如果您的用户拥有 AWS SAMCLI程序安装位置的写入权限，则**sudo**不是必需的。否则，**sudo** 是必需的。

   1.  */path-to*— AWS SAMCLI 程序安装位置的路径。默认位置是 `/usr/local`。

1.  AWS SAMCLI`$PATH`通过修改并运行以下命令来删除：

   ```
   $ sudo rm -rf /path-to-symlink-directory/sam
   ```

   1.  *sudo*— 如果您的用户具有写入权限`$PATH`，则**sudo**不是必需的。否则，**sudo** 是必需的。

   1.  *path-to-symlink-directory*— 您的`$PATH`环境变量。默认位置是 `/usr/local/bin`。

1.  通过运行以下命令验证 AWS SAM CLI 是否已卸载：

   ```
   $ sam --version
   command not found: sam
   ```

### Windows
<a name="manage-sam-cli-versions-uninstall-windows"></a>

要使用 Windows 设置卸载 AWS SAM CLI，请执行以下步骤：

1. 从“开始”菜单中搜索“添加或删除程序”。

1. 选择名为 **AWS SAM Command Line Interface** 的结果，然后选择**卸载**以启动卸载程序。

1. 确认您要卸载 AWS SAMCLI。

## 从使用 Homebrew 切换到管理 AWS SAM CLI
<a name="manage-sam-cli-versions-switch"></a>

如果您使用Homebrew安装和升级 AWS SAMCLI，我们建议您使用 AWS 支持的方法。按照以下说明切换到支持的方法。

**要从使用 Homebrew 切换**

1. 按照 [卸载Homebrew已安装的 CLI AWS SAM](#manage-sam-cli-versions-homebrew-uninstall) 中的说明卸载 Homebrew 托管版本。

1. 按照 [安装 AWS SAM CLI](install-sam-cli.md) 中的说明使用支持的方法安装 AWS SAM CLI。

## 管理 AWS SAM CLI 每夜构建版本
<a name="manage-sam-cli-versions-nightly-build"></a>

您可以下载并安装 AWS SAM CLI 每夜构建版本。它包含 AWS SAM CLI 代码的预发行版本，其稳定性可能不如生产版本。安装后，您可以通过与 `sam-nightly` 命令使用每夜构建版本。您可以同时安装和使用 AWS SAM CLI 的生产版本和每夜构建版本。

**注意**  
每夜构建版本不包含构建映像的预发行版本。因此，通过 **--use-container** 选项构建无服务器应用程序时，将使用构建映像的最新生产版本。

### 安装 AWS SAM CLI 每夜构建版本
<a name="manage-sam-cli-versions-nightly-build-install"></a>

要安装 AWS SAM CLI 每夜构建版本，请按照以下说明进行操作。

#### Linux
<a name="manage-sam-cli-versions-nightly-build-install-linux"></a>

您可以使用软件包安装程序在 Linux x86\$164 平台上安装 AWS SAM CLI 的每夜构建版本。

**要安装 AWS SAM CLI 每夜构建版本**

1. 从*aws-sam-cli GitHub存储库[sam-cli-nightly](https://github.com/aws/aws-sam-cli/releases/sam-cli-nightly/)*中下载软件包安装程序。

1. 按照[安装 AWS SAM CLI](install-sam-cli.md) 的步骤安装每夜构建软件包。

#### macOS
<a name="manage-sam-cli-versions-nightly-build-install-macos"></a>

您可以使用每夜构建软件包安装程序在 macOS 上安装 AWS SAM CLI 每夜构建版本。

**要安装 AWS SAM CLI 每夜构建版本**

1. 从*aws-sam-cli GitHub存储库*中下载适用于您平台[sam-cli-nightly](https://github.com/aws/aws-sam-cli/releases/sam-cli-nightly/)的软件包安装程序。

1. 按照[安装 AWS SAM CLI](install-sam-cli.md) 的步骤安装每夜构建软件包。

#### Windows
<a name="manage-sam-cli-versions-nightly-build-windows"></a>

 AWS SAM CLI 的每夜构建版本可通过以下下载链接获得：[AWS SAM CLI 每夜构建](https://github.com/aws/aws-sam-cli/releases/download/sam-cli-nightly/AWS_SAM_CLI_64_PY3.msi)。要在 Windows 上安装每夜构建版本，请执行与在 [安装 AWS SAM CLI](install-sam-cli.md) 中相同的步骤，但请改用每夜构建版本下载链接。

要验证您是否已安装每夜构建版本，请运行 **sam-nightly --version** 命令。此命令的输出形式为 `1.X.Y.dev<YYYYMMDDHHmm>`，例如：

```
SAM CLI, version 1.20.0.dev202103151200
```

### 从 Homebrew 切换到软件包安装程序
<a name="manage-sam-cli-versions-nightly-build-switch"></a>

如果您正在使用 Homebrew 安装和升级 AWS SAM CLI 每夜构建版本，并且想切换到使用软件包安装程序，请按照以下步骤操作。

**要从 Homebrew 切换到软件包安装程序**

1. 卸载 Homebrew 安装的 AWS SAM CLI 每夜构建版本。

   ```
   $ brew uninstall aws-sam-cli-nightly
   ```

1. 通过运行以下命令，验证 AWS SAM CLI 每夜构建版本是否已卸载：

   ```
   $ sam-nightly --version
   zsh: command not found: sam-nightly
   ```

1. 按照上一节中的步骤安装 AWS SAM CLI 每夜构建版本。

## 使用 pip 在虚拟环境中安装 AWS SAM CLI
<a name="manage-sam-cli-versions-install-virtual"></a>

我们建议使用本机软件包安装程序来安装 AWS SAMCLI。如果您必须使用 pip，我们建议您在虚拟环境中安装 AWS SAM CLI。这样可确保干净的安装环境，并能在出现错误时提供隔离环境。

**注意**  
自 2023 年 10 月 24 日起 AWS SAM CLI，将停止对的支持。Python 3.7要了解更多信息，请参阅[AWS SAM CLI 停止支持 Python 3.7](important-notes.md#important-notes-2023-10-python)。

**在虚拟环境中安装 AWS SAM CLI**

1. 从您选择的起始目录，创建虚拟环境并命名。

------
#### [ Linux / macOS ]

   ```
   $ mkdir project
   $ cd project
   $ python3 -m venv venv
   ```

------
#### [ Windows ]

   ```
   > mkdir project
   > cd project
   > py -3 -m venv venv
   ```

------

1. 激活虚拟环境

------
#### [ Linux / macOS ]

   ```
   $ . venv/bin/activate
   ```

   提示符更改为向您显示虚拟环境处于活动状态。

   ```
   (venv) $ 
   ```

------
#### [ Windows ]

   ```
   > venv\Scripts\activate
   ```

   提示符更改为向您显示虚拟环境处于活动状态。

   ```
   (venv) > 
   ```

------

1. 将 AWS SAM CLI 安装到虚拟环境中。

   ```
   (venv) $ pip install --upgrade aws-sam-cli
   ```

1. 验证 AWS SAM CLI 是否已正确安装。

   ```
   (venv) $ sam --version
   SAM CLI, version 1.94.0
   ```

1. 您可以使用 `deactivate` 命令退出虚拟环境。不管何时启动新会话，都必须重新激活环境。

## 使用 Homebrew 管理 AWS SAM CLI
<a name="manage-sam-cli-versions-homebrew"></a>

**注意**  
从 2023 年 9 月起， AWS 将不再维护 AWS SAMCLI (`aws/tap/aws-sam-cli`) 的 AWS 托管Homebrew安装程序。要继续使用 Homebrew，您可以使用社区托管的安装程序 (`aws-sam-cli`)。从 2023 年 9 月起，任何引用 `aws/tap/aws-sam-cli` 的 Homebrew 命令都将重定向到 `aws-sam-cli`。  
我们建议您使用我们支持的[安装](install-sam-cli.md)和[升级](#manage-sam-cli-versions-upgrade)方法。

### 使用 Homebrew 安装 AWS SAM CLI
<a name="manage-sam-cli-versions-homebrew-install"></a>

**注意**  
这些说明使用社区管理的 AWS SAMCLIHomebrew安装程序。如需更多支持，请参阅 *[homebrew-core](https://github.com/Homebrew/homebrew-core/issues) 存储库*。

**要安装 AWS SAM CLI**

1. 运行以下命令：

   ```
   $ brew install aws-sam-cli
   ```

1. 验证安装：

   ```
   $ sam --version
   ```

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

   ```
   SAM CLI, version 1.94.0
   ```

### 升级使用 Homebrew 的 AWS SAM CLI
<a name="manage-sam-cli-versions-homebrew-upgrade"></a>

要升级使用 Homebrew 的 AWS SAM CLI，请运行以下命令：

```
$ brew upgrade aws-sam-cli
```

### 卸载Homebrew已安装的 CLI AWS SAM
<a name="manage-sam-cli-versions-homebrew-uninstall"></a>

如果 AWS SAM CLI 是使用 Homebrew 安装的，请按照以下步骤将其卸载。

**要卸载 AWS SAM CLI**

1. 运行以下命令：

   ```
   $ brew uninstall aws-sam-cli
   ```

1. 通过运行以下命令验证 AWS SAM CLI 是否已卸载：

   ```
   $ sam --version
   command not found: sam
   ```

### 切换到社区托管的 Homebrew 安装程序
<a name="manage-sam-cli-versions-homebrew-switch"></a>

如果您使用的是 AWS 托管Homebrew安装程序 (`aws/tap/aws-sam-cli`) 并希望继续使用Homebrew，我们建议您切换到社区托管Homebrew安装程序 (`aws-sam-cli`)。

要切换单个命令，请运行以下命令：

```
$ brew uninstall aws-sam-cli && brew untap aws/tap && brew cleanup aws/tap && brew update && brew install aws-sam-cli
```

按照这些说明单独运行每条命令。

**要切换到社区托管的 Homebrew 安装程序**

1. 卸载以下的 AWS 托管Homebrew版本 AWS SAMCLI：

   ```
   $ brew uninstall aws-sam-cli
   ```

1. 验证 AWS SAM CLI 是否已卸载：

   ```
   $ which sam
   sam not found
   ```

1. 移除 AWS 托管 AWS SAMCLI水龙头：

   ```
   $ brew untap aws/tap
   ```

   如果您收到类似以下的错误，请添加 `--force` 选项并重试。

   ```
   Error: Refusing to untap aws/tap because it contains the following installed formulae or casks:
   aws-sam-cli-nightly
   ```

1. 移除 AWS 托管安装程序的缓存文件：

   ```
   $ brew cleanup aws/tap
   ```

1. 更新 Homebrew 和所有公式：

   ```
   $ brew update
   ```

1. 安装以下的社区管理版本 AWS SAMCLI：

   ```
   $ brew install aws-sam-cli
   ```

1. 验证 AWS SAM CLI 是否已成功安装：

   ```
   $ sam --version
   SAM CLI, version 1.94.0
   ```

## 问题排查
<a name="manage-sam-cli-versions-troubleshoot"></a>

如果您在安装或使用时遇到错误 AWS SAMCLI，请参阅[AWS SAM CLI 故障排除](sam-cli-troubleshooting.md)。