Then you could create a symbolic link at /home/deploy/.mix/rebar3 towards the 3.2.0 installation.
BUT before you go ahead - what is the version of mix on both systems? Because mix could be feeding bad arguments to rebar3 - so altering rebar3 may not help.
It may be an idea to find the versions of Erlang, Elixir, mix, rebar3, etc. on your OS X installation and try to get exactly the same versions on Ubuntu - if you make everything current on OS X you may find that you experience the same problems.
Hi peerreynders, this also gives solution for those who are having problems with rebar3 running elixir in Windows Subsystem for Linux, when compiling my project in elixir I got the same error message:
** (Mix) Could not compile dependency: certifi – .mix/rebar3 bare compile ,
when i read your comment i remembered that the Subsystem for Linux does not bring all the packages even the minimum installed by default, so doing: sudo apt-get install build-essential, the problem was solved, thanks for your help, Regards.
I know this is an old post. I just faced the same issue and I narrowed it down to symlinks.
I was writing the script for CI and symlinking _build and _deps ended up creating this issue.
The current alternative is using mount --bind, which requires sudo, but at least allows caching.
I know this is an old post. But am having this issue at the moment on a gitlab runner environment that helps deploy every commit on gitlab to dokku. I have tried the solution provided by @peerreynders but was still getting the same error. Kindly find the error below.
remote: ** (Mix) Could not compile dependency :hackney, “/app/.mix/rebar3 bare compile --paths=”/tmp/build/_build/prod/lib/*/ebin"" command failed. You can recompile this dependency with “mix deps.compile hackney”, update it with “mix deps.update hackney” or clean it with “mix deps.clean hackney”