You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

卸载Amplify CLI后仍残留本地IAM凭证,无法切换项目如何解决?

问题分析与解决方案

核心原因

你用的amplify remove和amplify uninstall并非清除本地凭证与项目关联的正确命令:

  • amplify remove仅用于移除当前项目内的Amplify资源(如API、存储服务),不涉及本地配置和凭证的清理
  • amplify uninstall是卸载Amplify CLI工具本身,不会处理已生成的项目配置和缓存的凭证

另外,AdminUserGlobalSignOutCommand能正常运行,是因为AWS SDK会按照凭证优先级链自动获取有效凭证——你清理的只是Amplify CLI层面的配置,但本地还有其他来源的凭证在生效。


具体解决步骤

1. 清理项目本地的Amplify配置文件

删除项目根目录下的关键配置文件/文件夹:

rm -rf amplify/
rm aws-exports.js  # 若项目用的是amplifyconfiguration.json则删除该文件

这些文件是amplify init生成的,包含旧项目的Cognito、API等配置信息,Amplify会自动加载它们,不删除就会一直关联旧项目。

2. 清理Amplify CLI的本地缓存与配置

删除用户主目录下的Amplify缓存文件夹:

rm -rf ~/.amplify/

这个目录存储了CLI的项目关联记录、临时缓存,清除后CLI就不会再记住旧项目的关联信息。

3. 清理AWS全局凭证

检查并清理本地的AWS凭证文件:

  • 打开~/.aws/credentials和~/.aws/config文件,删除里面和旧Amplify项目相关的profile条目(比如[default]或自定义的Amplify专属profile)
  • 也可直接备份后删除这两个文件:
mv ~/.aws/credentials ~/.aws/credentials.bak
mv ~/.aws/config ~/.aws/config.bak

Amplify CLI的凭证最终会存在这里,不清理的话AWS SDK依然能读取到有效凭证。

4. 检查系统环境变量

确认未设置以下会被AWS SDK优先读取的环境变量:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_SESSION_TOKEN

如果存在这些变量,可在终端执行unset AWS_ACCESS_KEY_ID这类命令临时取消,或在项目的.env文件中删除相关配置。


验证操作

完成以上步骤后,重新执行amplify configure和amplify init关联新项目,再测试AdminUserGlobalSignOutCommand,此时应该会因无有效凭证而报错,说明旧凭证已完全清除。

内容的提问来源于stack exchange,提问作者svelandiacasas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 17:21:05