如何在Google Cloud build上升级Node js版本

时间:2019-05-29 11:30:07

标签: node.js angular google-cloud-platform google-cloud-build

所以我最近将我的应用程序从Angular 7升级到Angular 8,并且由于Angular 8要求节点版本为10.9或更高,因此云构建VM的节点版本遇到了问题,如下所示:

error

如何升级Google云VM的节点版本,这样我就不会再出现此错误?

谢谢。

5 个答案:

答案 0 :(得分:3)

好的,经过数小时的尝试来编译我的新应用并在Google上搜索之后,尚无关于如何在Google应用引擎平台中使用新版本的Node.js的明确信息。

我让自己完成了构建自己的文件cloudbuild.yaml以在Google云平台上使用的任务,这就是我的结果,我希望它可以帮助许多必须具有相同错误的人:

steps:

# Install node packages
- name: node:10.16.3
  entrypoint: npm
  args: ['install']

# Build productive files
- name: node:10.16.3
  entrypoint: npm
  args: [ 'run', 'build', '--prod' ]

# Deploy to google cloud app engine
- name: "gcr.io/cloud-builders/gcloud"
  args: ['app', 'deploy', '--version=demo']

您可以在GitHub

中访问原始文件

答案 1 :(得分:1)

好吧,所以经过数小时的谷歌搜索,事实证明Google云平台提供了一个由不同npm云构建器组成的注册表,可用于Google云构建。

我本可以通过创建自己的docker映像解决问题,但是我想避免这种情况,而使用默认的云构建器docker映像。我更改了cloudbuild.yaml文件,使其包含以下生成器“ gcr.io/cloud-builders/npm:node-10.10.0”,而不是“ gcr.io/cloud-builders/npm”,然后将节点版本更新为node 10.10.0就像魔术Angular 8现在可以通过Google云构建来构建!

cloudbuild.yaml file

答案 2 :(得分:0)

有许多方法可以更新系统上的节点,n是其中之一:

n 是节点版本管理tool

npm install -g n

n 10.0.9将安装nodejs 10.0.9
n latest将安装最新的节点版本
n lts将安装最新的LTS官方版本

reference(您还可以在该线程中找到更多选项来更新节点)

答案 3 :(得分:0)

根据他们的文档建议,您应该改为使用正式的节点图像并指定npm入口点:

steps:
- name: node:10.15.1
  entrypoint: npm
  args: ['install']

https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/npm/README.md

答案 4 :(得分:0)

此链接包含所有当前版本及其标签:

https://console.cloud.google.com/gcr/images/cloud-builders/GLOBAL/npm

例如,在我使用过的cloudbuild.yaml

enter image description here

使用current标签。