В Heroku происходит сбой при прекомпиляции ресурсов при развертывании из-за различий в версии Node. Зачем? - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь развернуть приложение 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.

1 Ответ

0 голосов
/ 16 марта 2019

Так что мне удалось решить проблему, настроив Heroku Buildpack для Ruby и изменив версию установки Node:

(1) Форкинг 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...