为啥 AWS amplify 无法识别更新的节点版本?
Posted
技术标签:
【中文标题】为啥 AWS amplify 无法识别更新的节点版本?【英文标题】:Why does AWS amplify does not recognize updated node version?为什么 AWS amplify 无法识别更新的节点版本? 【发布时间】:2021-12-29 20:24:02 【问题描述】:我在本地机器上升级了节点,并从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 和其他博客,并且尝试了所有方法,但仍然出现此错误。
我的试验:
添加引擎:节点到我的 package.json"engines":
"node": ">=12.22.0"
运行这些命令:
sudo npm cache clean -f
sudo npm install -g n
仔细检查了我的节点版本:
node -v
v16.13.0
使用 yarn install 删除并安装 node modules 文件夹
为什么还会出现这个错误?
【问题讨论】:
【参考方案1】:您仅在本地使用节点 v16,出于某种原因放大使用较低的节点。您可以降级软件包(恕我直言不推荐)或告诉 amplify 使用更高的节点版本(恕我直言推荐)。
frontend:
phases:
preBuild:
commands:
- nvm install 16
在此处查找有关如何更改构建设置的官方文档:
https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html
【讨论】:
以上是关于为啥 AWS amplify 无法识别更新的节点版本?的主要内容,如果未能解决你的问题,请参考以下文章
使用 AWS Amplify 和 App Sync 与使用 Mongodb 的现有节点服务器