Slo*_*rsh 17 amazon-web-services node.js aws-amplify
我面临无法通过 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
Run Code Online (Sandbox Code Playgroud)
放大.yml:
# 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
Run Code Online (Sandbox Code Playgroud)
有谁知道如何更改默认值?
ric*_*ard 19
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/**/*
Run Code Online (Sandbox Code Playgroud)
Jan*_*sio 12
正确答案实际上不是正确答案。
您应该使用 NodeJS 的自定义构建映像来正确运行您的应用程序,而无需通过 nvm 更改节点版本。
要做到这一点:
node:12.16.1截至 2024 年 1 月 25 日更新:
它仍然有效...
截至 2023 年 11 月 13 日更新:
它仍然有效。
截至 2022 年 12 月 4 日更新:
对我来说最有效的办法是在 Docker Hub 上使用 NodeJS Docker 镜像的自定义构建。
您需要执行以下操作:
这样,您就可以使用您需要的任何 NodeJS 版本。至少,NodeJS 18 对我有用,我不需要另一个。
在构建期间,您可以在“Provision”选项卡中看到它们实际上使用 Docker Hub 的自定义构建:
我尝试了上面的两个答案,但它们对我不起作用。
我没想到这一点。Github 上的“dncrews”用户分享了这种方法。 看一下这个。
接受的答案对我不起作用。
在配置步骤中更改节点版本的唯一方法是拥有自己的构建设置。
然而,有一种更简单的方法可以实现这一点。
就我而言,我想要最新的 Node 10 版本。在预构建步骤中添加 nvm install 是有效的。
frontend:
phases:
preBuild:
commands:
- nvm install 10
Run Code Online (Sandbox Code Playgroud)
您可以通过在预构建步骤中安装来安装和使用放大中的任何节点版本。使用nvm切换node版本。
preBuild:
commands:
- nvm install <node version>
Run Code Online (Sandbox Code Playgroud)
放大控制台输出:
# 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6802 次 |
| 最近记录: |