簡體   English   中英

如何在谷歌雲構建上升級節點 js 版本

[英]How to upgrade node js version on google cloud build

所以我最近將我的應用程序從 Angular 7 升級到 Angular 8 並且我遇到了雲構建 VM 的節點版本的問題,因為 Angular 8 需要節點版本 10 或更高版本,如下所示:

錯誤

如何升級 Google Cloud VM 的節點版本,以免再次出現此錯誤?

謝謝。

好的,經過數小時的谷歌搜索,結果證明谷歌雲平台提供了不同 npm 雲構建器的注冊表,用於谷歌雲構建。

我本可以通過創建自己的 docker 鏡像來解決我的問題,但我想避免這種情況,而是使用默認的雲構建器 docker 鏡像。 我更改了我的 cloudbuild.yaml 文件以包含以下構建器“gcr.io/cloud-builders/npm:node-10.10.0”而不是“gcr.io/cloud-builders/npm”,然后將節點版本更新為節點10.10.0 就像魔法 Angular 8 現在可以通過 google cloud build 構建!

可以在此處找到雲構建器存儲庫中的特定節點版本: https : //console.cloud.google.com/gcr/images/cloud-builders/GLOBAL/npm

cloudbuild.yaml 文件

正如他們的文檔所建議的,您應該改為使用官方節點映像並指定 npm 入口點:

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

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

好的,經過幾個小時的嘗試編譯我的新應用程序並在 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 中訪問原始文件

此鏈接包含所有當前版本及其標簽:

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

例如在cloudbuild.yaml我使用

在此處輸入圖片說明

它使用current標簽。

根據最新文檔

Cloud Build 使您能夠使用任何公開可用的容器映像來執行您的任務。 來自 Docker Hub的公共node映像預裝了 npm 和 yarn 工具

這意味着我們可以使用來自 Docker Hub 的任何 Node.js 標簽。

至於我,我在cloudbuild.yaml - name: node更改為- name: node:lts cloudbuild.yaml ,這有助於修復Error: error:0308010C:digital envelope routines::unsupported Nest.js 應用程序構建步驟的問題。

gcr.io/cloud-builders/npm已過時,如https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/npm/README.md中所述

代替

name: 'gcr.io/cloud-builders/npm'

和:

name: 'node'
entrypoint: 'npm'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM