Веб-приложение Azure, использующее Node 10.x вместо 14.x

avatar
Mohamed Said
9 августа 2021 в 04:12
441
2
0

Я использую Azure Web Apps, и каждый раз, когда я пытаюсь заставить его использовать узел 14.x, он сбрасывается до 10.x после каждого развертывания.

Когда я захожу в Конфигурация > Общие, стек пуст, мне нужно выбрать узел, а затем 14.x, чтобы все заработало.

Изменить: используется Linux, а не Windows

Источник

Ответы (2)

avatar
Mohamed Said
10 августа 2021 в 20:25
1

Мне удалось решить проблему, добавив

runtimeStack: "NODE|14-lts"

в файле yaml 16.x еще не поддерживается, поэтому по умолчанию возвращается 10.x

avatar
evilSnobu
9 августа 2021 в 14:35
1

Добавьте параметр приложения WEBSITE_NODE_DEFAULT_VERSION для версии Node, но убедитесь, что именно та версия, которую вы указали, установлена ​​на рабочих процессах (при условии, что рабочие процессы Windows здесь не указаны) -

https://{yourWebAppName}.scm.azurewebsites.net/api/diagnostics/runtime

Это маршрут API Kudu, возвращающий версии среды выполнения. Выберите оттуда последнюю установленную версию Node.

.

Настройка вашего приложения становится

WEBSITE_NODE_DEFAULT_VERSION = 14.16.0

Пока вы не удалите или не перезапишете этот параметр приложения, ваша версия Node останется неизменной при развертывании кода.

Отслеживание проблемы GitHub здесь, так как страница документации сбивает с толку значения версии - https://github.com/MicrosoftDocs/azure-docs/issues/79475

Mohamed Said
9 августа 2021 в 17:40
0

Я пробовал это, но по умолчанию по-прежнему стоит 10.x, извините, что не упомянул об этом в исходном сообщении, но я использую Linux.

evilSnobu
11 августа 2021 в 08:57
1

Не могли бы вы отредактировать свой вопрос и добавить журналы развертывания? Кажется, у меня все работает нормально, пульт говорит Using Node version: v14.17.4, и я могу подтвердить версию, повторив process.version в моем веб-приложении. Может быть, ваш package.json указывает собственную версию Node, и она имеет приоритет над настройкой стека среды выполнения веб-приложения?

Mohamed Said
12 августа 2021 в 03:56
0

Проблема была связана с выбранным мной runtimeStack, он не поддерживался веб-приложениями Azure, позже я понял, что должен использовать 14-lts, и теперь он работает.