为什么 AWS amplify 无法识别更新的节点版本?

Why does AWS amplify does not recognize updated node version?

我在本地机器上升级了节点,并从 create-react-app 迁移到 nextjs

当我将我的代码推送到 AWS Amplify 时,我收到了这个错误:

error game-night@0.1.0: The engine "node" is incompatible with this module. Expected version ">=12.22.0". Got "12.21.0"

error Found incompatible module.

info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

我查看了 stackoveflow 和其他博客,并尝试了所有方法,但仍然出现此错误。

我的考验:

"engines": {
    "node": ">=12.22.0"
  }
sudo npm cache clean -f
sudo npm install -g n
node -v                                                                              
v16.13.0

为什么这个错误仍然出现?

您只在本地使用节点 v16,出于某种原因放大使用了较低的节点。您可以降级软件包(恕我直言,不推荐)或告诉 amplify 使用更高节点版本(恕我直言)。

frontend:
  phases:
    preBuild:
      commands:
        - nvm install 16

在此处查找有关如何更改构建设置的官方文档:

https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html

另一种解决方法是 editing the Amplify build settings. 您可以在应用程序设置 -> 构建设置 -> 添加包版本覆盖下指定 Amplify 使用特定的 Node.js 版本。