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

配置AWS后端后Amplify库被标记为废弃无法使用,求解决方案

解决AWS Amplify库标记废弃、功能无法访问的问题

问题原因

你遇到的是Amplify版本迭代导致的旧包废弃问题——aws-amplify和aws-amplify-react-native属于旧版包,在Amplify v6及以后的版本中,这些包的功能被拆分整合到了新的命名空间包中,直接使用旧包会被标记废弃且无法正常调用功能。

解决方案

1. 卸载旧的废弃包

先把旧版废弃包从项目中移除:

# npm 命令
npm uninstall aws-amplify aws-amplify-react-native

# yarn 命令
yarn remove aws-amplify aws-amplify-react-native

2. 安装新版Amplify依赖

安装适配React Native/Expo的新版核心包和UI组件包,二者分别负责核心配置和认证UI组件:

# npm 命令
npm install @aws-amplify/core @aws-amplify/ui-react-native

# yarn 命令
yarn add @aws-amplify/core @aws-amplify/ui-react-native

3. 修改代码中的导入与配置

替换原来的导入语句,改用新版包的正确路径,并确保配置代码生效:

import { StatusBar } from 'expo-status-bar';
import { SafeAreaProvider } from 'react-native-safe-area-context';
// 新版导入
import { Amplify } from '@aws-amplify/core';
import { withAuthenticator } from '@aws-amplify/ui-react-native';
import config from './src/aws-exports';

import useCachedResources from './components/hooks/useCachedResources';
import useColorScheme from './components/hooks/useColorScheme';
import Navigation from './components/navigation';

// 启用Amplify配置
Amplify.configure(config);

function App() {
  const isLoadingComplete = useCachedResources();
  const colorScheme = useColorScheme();

  if (!isLoadingComplete) {
    return null;
  } else {
    return (
      <SafeAreaProvider>
        <Navigation colorScheme={colorScheme} />
        <StatusBar />
      </SafeAreaProvider>
    );
  }
}

// 用新版withAuthenticator包裹组件
export default withAuthenticator(App);

4. 清理依赖缓存(可选)

如果修改后仍有问题,可能是依赖缓存导致的,清理后重新安装:

# npm 环境
rm -rf node_modules package-lock.json
npm install

# yarn 环境
rm -rf node_modules yarn.lock
yarn install

额外注意点

  • 确保aws-exports.js文件是通过Amplify CLI正确生成的,内容无缺失或错误
  • 若使用Expo,建议使用Expo 49及以上版本,保证与Amplify v6兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:45:37