

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

# 将 Next.js 11 SSR 应用程序迁移到 Amplify Hosting 计算系统
<a name="update-app-nextjs-version"></a>

部署新 Next.js 应用程序时，默认情况下，Amplify 使用支持的最新版本。 Next.js目前，Amplify Hosting 计算 SSR 提供商支持 Next.js版本 15。

Amplify 控制台会检测您账户中在 2022 年 11 月发布的 Amplify Hosting 计算服务之前部署的应用程序，该服务完全支持 Next.js 版本 12 到 15。控制台会显示一个信息横幅，标识使用 Amplify 之前的 SSR 提供商 Classic（仅限 Next.js 11）部署的分支的应用程序。我们强烈建议您将应用程序迁移至 Amplify Hosting 计算 SSR 提供商。

如果您要将托管的 Next.js 11 应用程序更新到 Next.js 12 或更高版本，则在触发部署时可能会`"target" property is no longer supported`出现错误。在这种情况下，您必须迁移到 Amplify Hosting 计算服务。

您必须同时手动迁移应用程序及其所有生产分支。应用程序不能同时包含 Classic（仅Next.js 限 11）和 Next.js 12 个或更高版本的分支。

按照以下说明将应用程序迁移至 Amplify Hosting 计算 SSR 提供商。

**将应用程序迁移至 Amplify Hosting 计算 SSR 提供商**

1. 登录 AWS 管理控制台 并打开 [Amplify](https://console.aws.amazon.com/amplify/) 控制台。

1. 选择要迁移的 Next.js 应用程序。
**注意**  
在 Amplify 控制台中迁移应用程序之前，必须先更新应用程序的 package.json 文件以使用 Next.js 版本 12 或更高版本。

1. 在导航窗格中，依次选择**应用程序设置**、**常规**。

1. 如果应用程序使用*经典（仅限 Next.js 11）***SSR 提供**程序部署了分支，则控制台会在应用程序主页上显示横幅。在横幅上，选择**迁移**。

1. 在迁移确认窗口中，选择三条语句并选择**迁移**。

1. Amplify 将构建并重新部署您的应用程序以完成迁移。

## 恢复 SSR 迁移
<a name="revert-ssr-migration"></a>

当您部署 Next.js 应用程序时，Amplify Hosting 会检测您的应用程序中的设置并为该应用程序设置内部平台值。有三个有效平台值。SSG 应用程序设置为平台值 `WEB`。使用 Next.js 版本 11 的 SSR 应用程序设置为平台值`WEB_DYNAMIC`。 Next.js 12 或更高版本的 SSR 应用程序设置为平台值`WEB_COMPUTE`。

当您按照上一节中的说明迁移应用程序时，Amplify 会将应用程序的平台值从 `WEB_DYNAMIC` 更改为 `WEB_COMPUTE`。向 Amplify Hosting 计算完成迁移后，您无法在控制台中恢复迁移。要恢复迁移，必须使用 AWS Command Line Interface 将应用程序的平台值改回 `WEB_DYNAMIC`。打开终端窗口并输入以下命令，使用您的唯一信息更新应用程序 ID 和区域。

```
aws amplify update-app --app-id {{abcd1234}} --platform WEB_DYNAMIC --region {{us-west-2}}
```