Как обновить версию node js в облачной сборке Google

Поэтому я недавно обновил свое приложение с Angular 7 до Angular 8, и у меня возникли проблемы с версией узла виртуальной машины облачной сборки, поскольку для Angular 8 требуется версия узла 10.9 или выше, как показано ниже:

Как обновить версию node js в облачной сборке Google

Как мне обновить версию узла облачной виртуальной машины Google, чтобы эта ошибка больше не появлялась?

Спасибо.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
7
0
5 136
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Итак, после нескольких часов гугления выяснилось, что облачная платформа Google предлагает реестр различных сборщиков облаков npm для использования с облачной сборкой Google.

Я мог бы решить свою проблему, создав собственный образ докера, но я хотел избежать этого в пользу образа докера облачных сборщиков по умолчанию. Я изменил свой файл cloudbuild.yaml, включив в него следующий сборщик gcr.io/cloud-builders/npm:node-10.10.0 вместо gcr.io/cloud-builders/npm, после чего обновил версию узла до node 10.10.0 и, как по волшебству, Angular 8 теперь можно собрать с помощью облачной сборки Google!

Конкретные версии узлов из репозитория облачных сборщиков можно найти здесь: https://console.cloud.google.com/gcr/images/cloud-builders/GLOBAL/npm.

cloudbuild.yaml file

Вы, сэр, джентльмены и ученый. Вы сэкономили МЕНЯ часы гугления, чтобы понять это.

Randolpho 12.11.2019 18:43

где найти эти версии?

Ulises CT 29.12.2019 17:49

Действительно - кажется излишне сложным найти/угадать, какие версии использовать.

nsandersen 27.05.2020 13:27

Версии можно найти здесь: console.cloud.google.com/gcr/images/cloud-builders/GLOBAL/…, как указано staad ниже.

Jack_b_321 04.12.2020 12:59

Как предлагается в их документации, вы должны вместо этого использовать официальный образ узла и указать точку входа npm:

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

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

Хорошо, после нескольких часов попыток скомпилировать мое новое приложение и выполнить поиск в Google нет четкой информации о том, как использовать новую версию Node.js на платформе механизма приложений Google.

Я поставил перед собой задачу создать свой собственный файл 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']

Вы можете получить доступ к исходному файлу здесь в Гитхаб

Спасибо, Джос, этот ответ помог мне решить мою ошибку.

Gunarathinam 23.10.2019 07:18

По этой ссылке есть все актуальные версии и их теги:

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

Например, в cloudbuild.yaml я использовал

который использует тег current.

Согласно последнему документация:

Cloud Build enables you to use any publicly available container image to execute your tasks. The public node image from Docker Hub comes preinstalled with npm and yarn tools

Это означает, что мы можем использовать любой тег Node.js из Docker Hub.

Что касается меня, я изменил - name: node на - name: node:lts в cloudbuild.yaml, и это помогло исправить проблему Error: error:0308010C:digital envelope routines::unsupported на этапе сборки приложения Nest.js.

Другие вопросы по теме