所以我最近将我的应用程序从Angular 7升级到Angular 8,并且由于Angular 8要求节点版本为10.9或更高,因此云构建VM的节点版本遇到了问题,如下所示:
如何升级Google云VM的节点版本,这样我就不会再出现此错误?
谢谢。
答案 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云构建来构建!
答案 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
中
使用current
标签。