如何在 Amplify 控制台的配置步骤中更改节点版本
How to change Node Version in Provision Step in Amplify Console
我面临无法通过 AWS Amplify 控制台构建我的 Angular 应用程序的问题:
“您是 Node.js 的 运行 版本 v8.12.0,Angular CLI 8.0+ 不支持它。
支持的官方 Node.js 版本为 10.9 或更高版本。
请访问 https://nodejs.org/en/ 以查找有关如何更新 Node.js 的说明。"
现在我想在提供步骤中将 docker 容器的默认节点版本设置为已在容器中定义的 VERSION_NODE_10。
# Framework Versions
ENV VERSION_NODE_8=8.12.0
ENV VERSION_NODE_6=6
ENV VERSION_NODE_10=10
ENV VERSION_NODE_DEFAULT=$VERSION_NODE_8 <-- Change this to $VERSION_NODE_10
ENV VERSION_RUBY_2_3=2.3.6
ENV VERSION_RUBY_2_4=2.4.3
ENV VERSION_RUBY_DEFAULT=$VERSION_RUBY_2_3
ENV VERSION_HUGO=0.51
ENV VERSION_YARN=1.13.0
amplify.yml:
version: 0.1
backend:
phases:
build:
commands:
- '# Execute Amplify CLI with the helper script'
- amplifyPush --simple
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- node -v
- npm run-script build
artifacts:
baseDirectory: dist/cr-client
files:
- '**/*'
cache:
paths:
- node_modules/**/*
有谁知道如何更改默认值?
AWS Amplify 使用 nvm
来处理节点版本。试试这个:
version: 0.1
backend:
phases:
build:
commands:
- '# Execute Amplify CLI with the helper script'
- amplifyPush --simple
frontend:
phases:
preBuild:
commands:
- nvm use $VERSION_NODE_10
- npm ci
build:
commands:
- nvm use $VERSION_NODE_10
- node -v
- npm run-script build
artifacts:
baseDirectory: dist/cr-client
files:
- '**/*'
cache:
paths:
- node_modules/**/*
正确答案实际上并不正确。
您应该使用 NodeJS 的自定义构建映像来 运行 您的应用程序,而无需通过 nvm 更改节点版本。
为此:
- 打开"Amplify Console"
- 打开"All Apps"
- 选择您要更改 NodeJS 版本的应用程序
- 打开"Build Settings"
- 向下滚动到 "Build image settings" 框并点击 "edit" 按钮
- 在 "Build Image" 下拉菜单中,选择选项 "Build image"
- 一个新的输入字段将出现在这个下拉列表的正下方,现在写下您要查找的 Docker 图像名称(与 Dockefile 中使用的相同)。例如
node:12.16.1
- 保存
- 重新部署任何构建。
已接受的答案对我不起作用。
在提供步骤中更改节点版本的唯一方法是拥有自己的构建设置。
但是,有一种更简单的方法可以完成此操作。
就我而言,我想要最新的节点 10 版本。并在预构建步骤中添加 nvm install。
frontend:
phases:
preBuild:
commands:
- nvm install 10
您可以通过在预构建步骤中安装来在 amplify 中安装和使用任何节点版本。使用nvm切换node版本
preBuild:
commands:
- nvm install <node version>
放大控制台输出:
# Executing command: nvm install 10
2020-09-09T13:36:19.465Z [INFO]: Downloading and installing node v10.22.0...
2020-09-09T13:36:19.544Z [WARNING]: Downloading https://nodejs.org/dist/v10.22.0/node-v10.22.0-linux-x64.tar.gz...
2020-09-09T13:36:19.664Z [WARNING]: ########
2020-09-09T13:36:19.665Z [WARNING]: 11.9%
2020-09-09T13:36:19.765Z [WARNING]: #######
2020-09-09T13:36:19.765Z [WARNING]: ######################## 43.5%
2020-09-09T13:36:19.832Z [WARNING]: ################################
2020-09-09T13:36:19.832Z [WARNING]: ######################################## 100.0%
2020-09-09T13:36:19.844Z [WARNING]: Computing checksum with sha256sum
2020-09-09T13:36:19.934Z [WARNING]: Checksums matched!
2020-09-09T13:36:20.842Z [INFO]: Now using node v10.22.0 (npm v6.14.6)
NodeJS 的自定义构建映像很痛苦。
我通常这样做:
应用程序设置 > 构建设置 > 构建图像设置单击编辑。
实时包更新:Node.js 版本 > 版本。
按照@richard 的解决方案,您可以将 .nvmrc
($ node --version > .nvmrc
) 文件放在您的 repo 的根目录中,其中包含您用于构建项目的特定节点版本,并使用 nvm install
而不是 nvm use $VERSION_NODE_10
我面临无法通过 AWS Amplify 控制台构建我的 Angular 应用程序的问题: “您是 Node.js 的 运行 版本 v8.12.0,Angular CLI 8.0+ 不支持它。 支持的官方 Node.js 版本为 10.9 或更高版本。 请访问 https://nodejs.org/en/ 以查找有关如何更新 Node.js 的说明。"
现在我想在提供步骤中将 docker 容器的默认节点版本设置为已在容器中定义的 VERSION_NODE_10。
# Framework Versions
ENV VERSION_NODE_8=8.12.0
ENV VERSION_NODE_6=6
ENV VERSION_NODE_10=10
ENV VERSION_NODE_DEFAULT=$VERSION_NODE_8 <-- Change this to $VERSION_NODE_10
ENV VERSION_RUBY_2_3=2.3.6
ENV VERSION_RUBY_2_4=2.4.3
ENV VERSION_RUBY_DEFAULT=$VERSION_RUBY_2_3
ENV VERSION_HUGO=0.51
ENV VERSION_YARN=1.13.0
amplify.yml:
version: 0.1
backend:
phases:
build:
commands:
- '# Execute Amplify CLI with the helper script'
- amplifyPush --simple
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- node -v
- npm run-script build
artifacts:
baseDirectory: dist/cr-client
files:
- '**/*'
cache:
paths:
- node_modules/**/*
有谁知道如何更改默认值?
AWS Amplify 使用 nvm
来处理节点版本。试试这个:
version: 0.1
backend:
phases:
build:
commands:
- '# Execute Amplify CLI with the helper script'
- amplifyPush --simple
frontend:
phases:
preBuild:
commands:
- nvm use $VERSION_NODE_10
- npm ci
build:
commands:
- nvm use $VERSION_NODE_10
- node -v
- npm run-script build
artifacts:
baseDirectory: dist/cr-client
files:
- '**/*'
cache:
paths:
- node_modules/**/*
正确答案实际上并不正确。
您应该使用 NodeJS 的自定义构建映像来 运行 您的应用程序,而无需通过 nvm 更改节点版本。
为此:
- 打开"Amplify Console"
- 打开"All Apps"
- 选择您要更改 NodeJS 版本的应用程序
- 打开"Build Settings"
- 向下滚动到 "Build image settings" 框并点击 "edit" 按钮
- 在 "Build Image" 下拉菜单中,选择选项 "Build image"
- 一个新的输入字段将出现在这个下拉列表的正下方,现在写下您要查找的 Docker 图像名称(与 Dockefile 中使用的相同)。例如
node:12.16.1
- 保存
- 重新部署任何构建。
已接受的答案对我不起作用。
在提供步骤中更改节点版本的唯一方法是拥有自己的构建设置。
但是,有一种更简单的方法可以完成此操作。
就我而言,我想要最新的节点 10 版本。并在预构建步骤中添加 nvm install。
frontend:
phases:
preBuild:
commands:
- nvm install 10
您可以通过在预构建步骤中安装来在 amplify 中安装和使用任何节点版本。使用nvm切换node版本
preBuild:
commands:
- nvm install <node version>
放大控制台输出:
# Executing command: nvm install 10
2020-09-09T13:36:19.465Z [INFO]: Downloading and installing node v10.22.0...
2020-09-09T13:36:19.544Z [WARNING]: Downloading https://nodejs.org/dist/v10.22.0/node-v10.22.0-linux-x64.tar.gz...
2020-09-09T13:36:19.664Z [WARNING]: ########
2020-09-09T13:36:19.665Z [WARNING]: 11.9%
2020-09-09T13:36:19.765Z [WARNING]: #######
2020-09-09T13:36:19.765Z [WARNING]: ######################## 43.5%
2020-09-09T13:36:19.832Z [WARNING]: ################################
2020-09-09T13:36:19.832Z [WARNING]: ######################################## 100.0%
2020-09-09T13:36:19.844Z [WARNING]: Computing checksum with sha256sum
2020-09-09T13:36:19.934Z [WARNING]: Checksums matched!
2020-09-09T13:36:20.842Z [INFO]: Now using node v10.22.0 (npm v6.14.6)
NodeJS 的自定义构建映像很痛苦。
我通常这样做: 应用程序设置 > 构建设置 > 构建图像设置单击编辑。 实时包更新:Node.js 版本 > 版本。
按照@richard 的解决方案,您可以将 .nvmrc
($ node --version > .nvmrc
) 文件放在您的 repo 的根目录中,其中包含您用于构建项目的特定节点版本,并使用 nvm install
而不是 nvm use $VERSION_NODE_10