Я пытаюсь развернуть приложение Rails 5.2 в Heroku, но получаю ошибку:
"Precompiling assets failed"`
из-за этой другой ошибки:
error upath@1.0.4: The engine "node" is incompatible with this module. Expected version ">=4 <=9". Got "10.14.1"
Проблема возникает сразу послеHeroku Buildpack пытается установить Yarn (v1.12.3).
Я заметил, что Buildpack устанавливает node-v10.14.1-linux-x64
и, таким образом, создает эту несовместимую версию ошибки.Однако я не могу найти, как заставить Heroku установить предыдущую версию Node.
Я пробовал: Решения, размещенные в StackOverflow, обычно решают аналогичную проблему для людей, пытающихся развернуть приложения Node.Решение включает указание версии узла (той, которая соответствует Heroku) в файле package.json
.Я пробовал нечто подобное, добавляя свойство Node с более низкой версией в package.json, надеясь повлиять на версию Node, которую Heroku устанавливает без какого-либо успеха.
Полагаю, что тогда имеет смысл изменить версию Node в Heroku Buildpack (см. Ниже Обновление), но я не могу найти, как это сделать, и кажется несколько обременительным делать это с помощью простого развертывания Heroku сванильное приложение.
Интересно , что могло вызвать эту проблему , и был бы признателен за любые рекомендации о том, как ее решить.
[ОБНОВЛЕНИЕ]
Так что мне удалось решить проблему с настройкой Heroku Buildpack для Ruby и изменением версии установки Node:
(1) Forking heroku-buildpack-ruby-master
(2) Версия узла редактирования для соответствия версии моего локального хоста по адресу: heroku-buildpack-ruby-master/lib/language_pack/helpers/nodebin.rb
(3) Установка этого отредактированного пакета сборки по умолчанию дляРазвертывание Heroku в моем терминале выполняется $ heroku buildpacks:set https://github.com/my_git_hub/heroku-buildpack-ruby-mod
(4) Развертывание в Heroku
Это решает проблему.До сих пор не знаю, почему это произошло, если у меня не было этой проблемы при развертывании любого другого приложения Rails для Heroku.