Na początek stworzyłem aplikację ElixirFramework Phoenix. Ta aplikacja korzysta z zależności spójności do uwierzytelniania na stronie internetowej. Ta zależność została zainstalowana zgodnie z zaleceniami repozytorium git -full
argument, aby zainstalować wszystkie opcje spójności.
Potem zmieniłem tylko kilka wierszy config.exs
plik mojego projektu do korzystania z usługi mailgun do wysyłania wiadomości e-mail i umieszczania tam poświadczeń.
Następnie zainstalowałem i skonfigurowałem moje inne działy (nie mają one nic wspólnego ze spójnością).
Lokalnie moja aplikacja może się kompilować i działać bez problemów.
Następnie chciałem wdrożyć go do Heroku przy użyciu wytycznych Phoenix. Po wykonaniu wszystkich kroków wystąpił błąd podczas próby przekazania aplikacji do Heroku.
Następnie próbowałem sprawdzić plik lib/mix/tasks/coherence.clean.ex
i wiersz 162, w którym znalazłem komentarz stwierdzający, że wystąpił błąd podczas aktualizacji pliku konfiguracyjnego, ale nie mogłem zrozumieć, co to znaczy i jak to rozwiązać.
Próbowałem zrobić nową aplikację feniksa,instalowanie spójności z tymi samymi lub różnymi opcjami, a następnie wdrażanie jej zgodnie z wytycznymi Phoenix. Za każdym razem otrzymywałem ten sam błąd.
Chcę również zauważyć, że próbowałem stworzyć elixir_buildpack.config
złożyć i umieścić always_rebuild=true
tam i nie odniosło sukcesu. (jest to rozwiązanie wspomniane w sekcji dotyczącej rozwiązywania problemów związanych z wdrażaniem w przewodniku Heroku)
Więc moje pytanie brzmi: co muszę zmienić w swoim config.exs
plik (lub gdzie indziej), aby stworzyć przynajmniej świeżą aplikację z zainstalowaną spójnością do kompilacji i pracy na Heroku?
Przydatne linki: spójność dep link github
Dzięki tona chłopaki.
Odpowiedzi:
3 dla odpowiedzi № 1The Heroku Buildpack for Elixir obecnie domyślnie ustawiony jest Elixir 1.2.6, podczas gdy kod zgłaszający ten błąd używa else
składnia z with
, cecha który został dodany w Elixir 1.3.0, więc musisz ustawić wersję Elixir na 1.3.0 lub nowszą, dodając następujące elementy do elixir_buildpack.config
:
elixir_version=1.3.2