Closed danielberkompas closed 6 years ago
My heroku deploys are failing for two separate phoenix apps with similiar issue. I'm on hex 0.17.5. Here's teh heorku dump
➜ thanklocal git:(bill_on_send) git push staging bill_on_send:master
Counting objects: 18, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.66 KiB | 0 bytes/s, done.
Total 18 (delta 16), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Elixir app detected
remote: -----> Checking Erlang and Elixir versions
remote: Will use the following versions:
remote: * Stack cedar-14
remote: * Erlang 19.1
remote: * Elixir 1.4.0
...
remote: * MIX_ENV=staging
remote: -----> Using cached Erlang 19.1
remote: -----> Installing Erlang 19.1
remote:
remote: -----> Using cached Elixir v1.4.0
remote: -----> Installing Elixir v1.4.0
remote: -----> Installing Hex
remote: * creating /app/.mix/archives/hex-0.17.5
remote: -----> Installing rebar
remote: * creating /app/.mix/rebar
remote: * creating /app/.mix/rebar3
remote: -----> Fetching app dependencies with mix
remote: warning: variable "aliases" does not exist and is being expanded to "aliases()", please use parentheses to remove the ambiguity or change the variable name
remote: mix.exs:12
remote:
remote: warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
remote: mix.exs:13
remote:
remote: warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
remote: /tmp/build_15abc47e7d1a4823a1c83bd58ea9699a/deps/ex_csv/mix.exs:8
remote:
remote: warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
remote: /tmp/build_15abc47e7d1a4823a1c83bd58ea9699a/deps/ex_csv/mix.exs:9
remote:
remote: warning: variable "description" does not exist and is being expanded to "description()", please use parentheses to remove the ambiguity or change the variable name
remote: /tmp/build_15abc47e7d1a4823a1c83bd58ea9699a/deps/exgrid/mix.exs:8
remote:
remote: warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
remote: /tmp/build_15abc47e7d1a4823a1c83bd58ea9699a/deps/exgrid/mix.exs:9
remote:
remote: warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
remote: /tmp/build_15abc47e7d1a4823a1c83bd58ea9699a/deps/exgrid/mix.exs:10
remote:
remote: Resolving Hex dependencies...
remote: ** (MatchError) no match of right hand side value: nil
remote: (hex) lib/hex/remote_converger.ex:264: Hex.RemoteConverger.dep_info_from_lock/1
remote: (elixir) lib/map.ex:202: Map.new_transform/3
remote: (hex) lib/hex/remote_converger.ex:224: Hex.RemoteConverger.print_success/3
remote: (hex) lib/hex/remote_converger.ex:53: Hex.RemoteConverger.converge/2
remote: (mix) lib/mix/dep/converger.ex:91: Mix.Dep.Converger.all/4
remote: (mix) lib/mix/dep/converger.ex:50: Mix.Dep.Converger.converge/4
remote: (mix) lib/mix/dep/fetcher.ex:16: Mix.Dep.Fetcher.all/3
remote: (mix) lib/mix/tasks/deps.get.ex:27: Mix.Tasks.Deps.Get.run/1
remote:
remote: ! Push rejected, failed to compile Elixir app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to thanklocal-staging.
remote:
To https://git.heroku.com/thanklocal-staging.git
! [remote rejected] bill_on_send -> master (pre-receive hook declined)
Locally on 0.17.5
λ ~/code/link/ PE-8080/location_transfer_conversation_item mix local.hex
Found existing entry: /Users/justgage/.kiex/mix/archives/elixir-1.6.0/hex-0.17.5
Are you sure you want to replace it with "https://repo.hex.pm/installs/1.6.0/hex-0.17.5.ez"? [Yn]
* creating /Users/justgage/.kiex/mix/archives/elixir-1.6.0/hex-0.17.5
λ ~/code/link/ PE-8080/location_transfer_conversation_item mix deps.get
warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
/Users/justgage/code/link/deps/subscribex/mix.exs:10
Resolving Hex dependencies...
** (MatchError) no match of right hand side value: nil
(hex) lib/hex/remote_converger.ex:264: Hex.RemoteConverger.dep_info_from_lock/1
(elixir) lib/map.ex:203: Map.new_transform/3
(hex) lib/hex/remote_converger.ex:224: Hex.RemoteConverger.print_success/3
(hex) lib/hex/remote_converger.ex:53: Hex.RemoteConverger.converge/2
(mix) lib/mix/dep/converger.ex:95: Mix.Dep.Converger.all/4
(mix) lib/mix/dep/converger.ex:51: Mix.Dep.Converger.converge/4
(mix) lib/mix/dep/fetcher.ex:16: Mix.Dep.Fetcher.all/3
(mix) lib/mix/tasks/deps.get.ex:27: Mix.Tasks.Deps.Get.run/1
Are there any ways to use older hex version?
@quolpr incorporate mix hex.install 0.17.3
into your build scripts and you should be fine for now.
@quolpr Our's looks similar to the following:
mix local.hex --force
mix hex.install 0.17.3
mix deps.get
Looks like 0.17.6 was just released and fixes the issue, https://github.com/hexpm/hex/releases/tag/v0.17.6.
0.17.6 fixes for me, thank you maintainers
The issue has been fixed in a bugfix release as reported. Sorry for the inconvenience.
It looks like the
0.17.4
release does not support mix.lock entries in this format.I'm getting the following error trying to fetch dependencies with
mix deps.get
:The problem seems to be that
RemoteConverger.dep_info_from_lock
does not have a function head for the above case.Here is my complete
mix.lock
file for reference:Edit: I accidentally put in the wrong
mix.lock
. Corrected.