Ошибка деплоймента Netlify: 'Treating warnings as errors because process.env.CI=true'

Ошибка деплоймента Netlify: 'Treating warnings as errors because process.env.CI=true'

Netlify - это облачная платформа, на которой разработчики программного обеспечения могут легко размещать свои веб-сайты и веб-приложения, и они мгновенно развертываются.

В этой статье я расскажу, как исправить ошибку Treating warnings as errors because process.env.CI=true, с которой столкнулся при попытке развернуть приложение React.

Проблема:

Я пытался развернуть приложение, созданное с помощью react, и выбрал Netlify в качестве платформы, на которой оно должно было быть размещено. Я выбрал опцию Import an existing project from a Git repository. Netlify отображает терминал журнала развертывания, когда приложение развертывается, и в этом разделе можно увидеть сообщения о ходе развертывания проекта. После развертывания приложения эти сообщения об ошибках были отображены в качестве отчета о ходе развертывания.

изображение журнала развертывания из netlify с сообщением об ошибке Treating warnings as errors because process.env.CI=true
изображение журнала деплоймента из netlify с сообщением об ошибке build.failed

Причина этой ошибки заключается в том, что Netlify автоматически устанавливает переменную среды сборки в true, при этом определенные функции в приложении, которые ранее воспринимались как предупреждения (в терминале в локальной среде) и не изменяли сборку приложения в локальной среде, теперь будут обнаружены в новой среде. По умолчанию, установленному Netlify, ваше приложение из-за используемой библиотеки будет интерпретировать переменную окружения CI как true, то есть CI=true, где CI означает Continuous Integration, а затем интерпретировать предупреждения как ошибки, отсюда и предупреждение: “Treating warnings as errors because process.env.CI=true”, и это прерывает развертывание приложения.

Что такое переменные среды?

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

Решение:

Чтобы исправить эту ошибку, первым шагом будет настройка команды сборки вашего приложения.

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

В разделе Build and Deployment выберите Continuous Deployment и прокрутите вниз до раздела Build Settings, нажмите Edit Settings.

Установите команду сборки в CI= npm run build .

Следующим шагом будет установка переменной окружения, которая контролирует среду, в которую развертывается ваше приложение, для этого следуйте следующим инструкциям:

В разделе Build and Deploy выберите Environment.

Нажмите на Edit Variables и в поле ввода key введите CI, в поле ввода value введите false.

Это снимет настройки среды Netlify по умолчанию с CI=true на CI=false. После этого предупреждения во время непрерывной интеграции или развертывания больше не будут восприниматься как ошибки, которые могут остановить развертывание веб-приложения.

Следование этим инструкциям приведет к успешной сборке и развертыванию вашего приложения, как это произошло со мной. Вы увидите эти сообщения в журналах развертывания:

изображение журнала развертывания из Netlify с сообщением об успехе Команда сборки из приложения Netlify
изображение журнала развертывания из Netlify с сообщением об успехе Netlify build complete, которое подтверждает успех развертывания приложения

Примечание: Эти настройки также могут быть применены при развертывании приложения в Vercel.