本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon SAMCLI 纠正
对使用、安装和管理Amazon Serverless Application Model命令行界面 (Amazon SAMCLI) 时的错误消息进行故障排除。
安装错误
Linux
Docker 错误:“无法连接 Docker er 错误 Docker 错误:“无法连接Do docker 守护程序在这台主机上运行吗?”
在某些情况下,要访问 Docker er Docker docker Docker docker Docker er cker docker Dockerec2-user
如果您收到此错误,请尝试重启您的实例。
Shell 错误:“找不到命令”
如果您收到此错误,则说明您的 shell 无法在路径中找到Amazon SAM CLI 可执行文件。验证您安装Amazon SAM CLI 可执行文件的目录的位置,然后验证该目录是否在您的路径中。
Amazon SAMCLI 错误:“/lib64/libc.so.6:找不到 `GLIBC_2.14'版本(/usr/local/aws-sam-cli /dist/libz.so.1 需要)”
如果您收到此错误,则说明您使用的是不支持的 Linux 版本,并且内置的 glibc 版本已过时。试以下任一项任一项:
-
将你的 Linux 主机升级到 CentOS、Fedora、Ubuntu 或 Amazon Linux 2 的 64 位版本。
-
按照的说明进行操作安装 Amazon SAM CLI。
macOS
安装失败错误

如果您正在为用户安装Amazon SAM CLI 并选择了一个您没有写入权限的安装目录,则可能会出现此错误。试以下任一项任一项:
-
选择您具有写入权限的其他安装目录。
-
删除安装程序。然后,下载并再次运行它。
错误消息
curl 错误:“curl: (6) 无法解析:...”
在尝试调用 API Gateway 终端节点时,您会显示以下错误 API Gateway 终
curl: (6) Could not resolve: endpointdomain
(Domain name not found)
这意味着您试图向无效的域名发送请求。如果您的无服务器应用程序未能成功部署,或者您的curl命令中有拼写错误,就会发生这种情况。使用Amazon CloudFormation控制台或,验证应用程序是否成功部署Amazon CLI,并验证您的curl命令是否正确。
错误:创建托管资源失败:找不到凭证
运行sam deploy命令时,您会看到以下错误:
Error: Failed to create managed resources: Unable to locate credentials
这意味着您尚未设置Amazon凭据以使Amazon SAM CLI 进行Amazon服务调用。要解决这个问题,你必须设置Amazon证书。有关更多信息,请参阅设置Amazon证书:
错误:pip 的依赖关系解析器...
错误示例文本:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. aws-sam-cli 1.58.0 requires aws-sam-translator==1.51.0, but you have aws-sam-translator 1.58.0 which is incompatible. aws-sam-cli 1.58.0 requires typing-extensions==3.10.0.0, but you have typing-extensions 4.4.0 which is incompatible.
- 可能的原因:如果您使用安装软件包pip,则软件包之间的依赖关系可能会发生冲突。
-
该
aws-sam-cli
软件包的每个版本都依赖于该aws-sam-translator
软件包的版本。例如,aws-sam-cli
v1.58.0 可能依赖于aws-sam-translator
v1.51.0。如果您使用安装Amazon SAM CLIpip,然后安装另一个依赖于更新版本的软件包
aws-sam-translator
,则会出现以下情况:-
aws-sam-translator
将安装较新版本的。 -
的当前版本
aws-sam-cli
和的更新版本aws-sam-translator
可能不兼容。 -
当你使用Amazon SAM CLI 时,会出现依赖关系解析器错误。
解决方案:
-
使用Amazon SAM CLI 原生软件包安装程序。
-
Amazon SAMCLI 的权限 CLI 卸CLI。有关说明,请参阅 卸载Amazon SAM CLI。
-
使用本机软件包安装程序安装Amazon SAM CLI。有关说明,请参阅 安装 Amazon SAM CLI。
-
必要时,使用本机软件包安装程序升级Amazon SAM CLI。有关说明,请参阅 升级 CAmazon SAM LI。
-
-
如果您必须使用pip,我们建议您将Amazon SAM CLI 安装到虚拟环境中。这样可以确保在出现错误时提供干净的安装环境和隔离的环境。有关说明,请参阅 使用以下方法将Amazon SAM CLI 安装到虚拟环境中pip。
-
错误:需要在本地运行Amazon SAM 项目Docker。你安装了吗?
运行sam local start-api命令时,您会看到以下错误:
Error: Running Amazon SAM projects locally requires Docker. Have you got it installed?
这意味着你没有Docker正确安装。 Docker必须在本地测试应用程序。要解决此问题,请为开发主机的 Docker er er Docker er docker。有关更多信息,请参阅安装 Docker:
错误:未满足安全限制
跑步时sam deploy --guided,系统会提示你提出问题
。如果您以(默认响应)此提示Function
may not have authorization defined, Is this okay?
[y/N]N
(默认响应),会显示以下错误:
Error: Security Constraints Not Satisfied
该提示通知您,您要部署的应用程序可能在未经授权的情况下配置了可公开访问的 Amazon API Gateway API。N
回应此提示,就是说这不行。
要解决此问题,您有以下选项:
-
使用授权配置您的应用程序。有关配置授权的信息,请参阅控制对 API Gateway API 的访问。
-
如果您打算在未经授权的情况下使用可公开访问的 API 终端节点,请重新启动部署并回答此问题,
Y
以表明您可以进行部署。
消息:缺少身份验证令牌
在尝试调用 API Gateway 终端节点时,您会显示以下错误 API Gateway 终
{"message":"Missing Authentication Token"}
这意味着你试图向正确的域名发送请求,但是 URI 不可识别。要修复此问题,请验证完整 URL,然后使用正确的 URL 更新curl命令。