【问题标题】:How to change Node Version in Provision Step in Amplify Console如何在 Amplify 控制台的配置步骤中更改节点版本
【发布时间】:2019-10-20 00:15:27
【问题描述】:

我面临无法通过 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

放大.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/**/*

有谁知道如何更改默认值?

【问题讨论】:

标签: node.js amazon-web-services aws-amplify


【解决方案1】:

接受的答案对我不起作用。

在配置步骤中更改节点版本的唯一方法是拥有自己的构建设置。

但是,有一种更简单的方法可以做到这一点。

就我而言,我想要最新的 node 10 版本。并且在预构建步骤中添加 nvm install 是有效的。

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

您可以通过在预构建步骤中安装来在 amplify 中安装和使用任何节点版本。使用nvm切换节点版本。

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)

【讨论】:

    【解决方案2】:

    正确的答案其实并不正确。

    您应该使用 NodeJS 的自定义构建映像来正确运行您的应用程序,而无需通过 nvm 更改节点版本。

    这样做:

    1. 打开“放大控制台”
    2. 打开“所有应用”
    3. 选择您要更改 NodeJS 版本的应用
    4. 打开“构建设置”
    5. 向下滚动到“构建图像设置”框并点击“编辑”按钮
    6. “构建映像” 下拉菜单中,选择选项“构建映像”
    7. 一个新的输入字段将出现在此下拉列表下方,现在输入您要查找的 Docker 映像名称(与 Dockefile 中使用的相同)。例如node:12.16.1
    8. 保存
    9. 重新部署任何构建。

    【讨论】:

    • 这里是 github 线程,其中更详细地描述了此解决方案以及 Amplify 控制台设置的附加图片github.com/aws-amplify/amplify-cli/issues/3187
    • 由于 docker hub 的速率限制,现在由于放大 ip 受到速率限制,这会间歇性地失败!所以我不得不回滚到 nvm 解决方案。
    【解决方案3】:

    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/**/*
    

    【讨论】:

    • 谢谢!知道如何告诉 Amplify 控制台安装和使用 packages.json 中定义的节点版本吗?
    • 谢谢你。我也在寻找更新纱线和控制台中的“实时包更新”设置似乎没有被选中。在这个答案中,我也以与​​ nvm 类似的方式尝试了 yvm,但 yvm 不可用。您是否也知道如何指定使用的纱线版本?
    • 也许你可以在构建命令中添加'- curl -o- -L yarnpkg.com/install.sh | bash' 或'- npm install --global yarn'
    • 如果你在你的 repo 根目录中保留一个.nvmrc 文件,那么安装和使用你想要的任何节点版本都很容易。使用 preBuild 命令nvm installnvm use,无需命名特定版本。 (遗憾的是,Amplify 的 nvm 在 2018 年似乎不支持 --no-progress 选项 nvm added。)
    • 你为什么重复npm use
    猜你喜欢
    • 2018-05-24
    • 2021-02-27
    • 1970-01-01
    • 2018-06-22
    • 2023-03-09
    • 1970-01-01
    • 2020-08-12
    • 2020-05-31
    • 1970-01-01
    相关资源
    最近更新 更多