

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

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

# 排查 devfile 的问题
<a name="devenvironments-devenvironments-devfile"></a>

要解决中与 devfiles 相关的问题，请参阅以下章节。 CodeCatalyst有关 devfile 的更多信息，请参阅[配置开发环境的 devfile](devenvironment-devfile.md)。

**Topics**
+ [即使我在自定义 devfile 中实现了自定义映像，我的开发环境还是使用默认通用 devfile](#troubleshooting-devenvironments-custom-image)
+ [我的项目未使用默认通用 devfile 在我的开发环境中进行构建](#troubleshooting-devenvironments-default-image)
+ [我需要移动开发环境的存储库 devfile](#troubleshooting-devenvironments-devfile-moving)
+ [我在启动 devfile 时遇到了问题](#troubleshooting-devenvironments-devfile-recovery)
+ [我无法确定如何查看我的 devfile 状态](#troubleshooting-devenvironments-devfile-status)
+ [我的 devfile 与最新映像中提供的工具不兼容](#troubleshooting-devenvironments-devfile-version)

## 即使我在自定义 devfile 中实现了自定义映像，我的开发环境还是使用默认通用 devfile
<a name="troubleshooting-devenvironments-custom-image"></a>

如果在启动使用自定义开发文件的开发环境时 CodeCatalyst 遇到错误，则开发环境默认为默认的通用开发文件。要解决此问题，您可以在 `/aws/mde/logs/devfile.log` 下的日志中查看确切的错误。您还可以在日志中检查 `postStart` 执行是否成功：`/aws/mde/logs/devfileCommand.log`。

## 我的项目未使用默认通用 devfile 在我的开发环境中进行构建
<a name="troubleshooting-devenvironments-default-image"></a>

要解决此问题，请检查您是否未使用自定义 devfile。如果您未使用自定义 devfile，请在项目的源存储库中查看 `devfile.yaml` 文件以查找并纠正所有错误。

## 我需要移动开发环境的存储库 devfile
<a name="troubleshooting-devenvironments-devfile-moving"></a>

您可以将 `/projects/devfile.yaml` 中的默认 devfile 移至您的源代码存储库。要更新 devfile 的位置，请使用以下命令：`/aws/mde/mde start --location repository-name/devfile.yaml`。

## 我在启动 devfile 时遇到了问题
<a name="troubleshooting-devenvironments-devfile-recovery"></a>

如果启动 devfile 时出现问题，它将进入恢复模式，这样您仍能连接到您的环境并修复 devfile。在恢复模式中，运行 `/aws/mde/mde status` 将不会包含 devfile 的位置。

```
{
    "status": "STABLE"
}
```

您可以查看 `/aws/mde/logs` 下的日志中的错误，修复 devfile，然后重试运行 `/aws/mde/mde start`。

## 我无法确定如何查看我的 devfile 状态
<a name="troubleshooting-devenvironments-devfile-status"></a>

可以通过运行 `/aws/mde/mde status` 来查看 devfile 状态。运行此命令后，您可能会看到以下内容之一：
+ `{"status": "STABLE", "location": "devfile.yaml" }`

  这表明 devfile 是正确的。
+ `{"status": "STABLE" }`

  这表示 devfile 无法启动并且已进入恢复模式。

您可以在 `/aws/mde/logs/devfile.log` 下的日志中查看确切的错误。

您还可以在日志中检查 `postStart` 执行是否成功：`/aws/mde/logs/devfileCommand.log`。

有关更多信息，请参阅[为开发环境指定通用 devfile 映像](devenvironment-universal-image.md)。

## 我的 devfile 与最新映像中提供的工具不兼容
<a name="troubleshooting-devenvironments-devfile-version"></a>

在您的开发环境中，如果 `latest` 工具没有特定项目所需的工具，则 `devfile` 或 `devfile postStart` 可能会失败。要修复此问题，请执行以下操作：<a name="devenvironment-devfile-version"></a>

1. 导航到您的 devfile。

1. 在您的 devfile 中，更新至精细映像版本，而不是 `latest`。其内容可能与以下内容类似：

   ```
   components:
     - container:
         image: public.ecr.aws/amazonlinux/universal-image:1.0
   ```

1. 使用更新后的 devfile 创建新的开发环境。