

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Linux 2023 ビルドイメージの問題のトラブルシューティング
<a name="troubleshooting-AL2023"></a>

以下の情報は、Amazon Linux 2023 (AL2023) のビルドイメージで発生した問題をトラブルシューティングする際に役立ちます。

**Topics**
+ [Python ランタイムで Amplify 関数を実行したい](#python-runtime)
+ [スーパーユーザーまたはルート権限を必要とするコマンドを実行したい](#root-privileges)

## Python ランタイムで Amplify 関数を実行したい
<a name="python-runtime"></a>

Amplify ホスティングは、新しいアプリケーションをデプロイするときに、デフォルトで Amazon Linux 2023 ビルドイメージを使用するようになりました。AL2023 には、Python バージョン 3.8、3.9、3.10、3.11 がプリインストールされています。

Amazon Linux 2 イメージと後方互換性があるので、AL2023 ビルドイメージには、古いバージョンの Python がプリインストールされたシンボリックリンクがあります。

デフォルトでは、Python バージョン 3.10 がグローバルに使用されます。特定の Python バージョンを使用して関数を構築するには、アプリケーションのビルド仕様ファイルで次のコマンドを実行します。

```
version: 1
backend:
  phases:
    build:
      commands:
        # use a python version globally
        - pyenv global 3.11
        # verify python version
        - python --version
        # install pipenv
        - pip install --user pipenv
        # add to path
        - export PATH=$PATH:/root/.local/bin
        # verify pipenv version
        - pipenv --version
        - amplifyPush --simple
```

## スーパーユーザーまたはルート権限を必要とするコマンドを実行したい
<a name="root-privileges"></a>

Amazon Linux 2023 のビルドイメージを使用していて、スーパーユーザーまたはルート権限を必要とするシステムコマンドを実行するときにエラーが発生した場合は、Linux `sudo` コマンドを使用してこれらのコマンドを実行する必要があります。例えば、`yum install -y gcc` の実行中にエラーが発生した場合は、`sudo yum install -y gcc` を使用します。

Amazon Linux 2 のビルドイメージでは、ルートユーザーを使用しましたが、Amplify の AL2023 イメージは、カスタム `amplify` ユーザーでコードを実行します。Amplify は、Linux `sudo` コマンドを使用してコマンドを実行する権限をこのユーザーに付与します。スーパーユーザー権限が必要なコマンドには `sudo` を使用することをお勧めします。