Mix deps.get hanging

Hi,

I’ve just updated a FreeBSD host which meant that the following updated to their respective versions:

erlang-28.5.0.2,4 Functional programming language from Ericsson
elixir-1.19.5 Functional, meta-programming aware language built on top of Erlang VM

This meant that mix local.hex had to be run. After a git fetch/clone the mix deps.get seems to just hang:

$ mix local.hex
→ Running mix CLI
→ Running mix loadconfig (inside Pleroma.Mixfile)
← Ran mix loadconfig in 10ms
→ Running mix local.hex (inside Pleroma.Mixfile)
Found existing entry: /home/akkoma/.mix/archives/hex-2.4.1
Are you sure you want to replace it with “https://builds.hex.pm/installs/1.19.0/hex-2.5.1-otp-28.ez”? [Yn] y
* creating /home/akkoma/.mix/archives/hex-2.5.1
← Ran mix local.hex in 4408ms
← Ran mix CLI in 4715ms
$ mix deps.get
→ Running mix CLI
→ Running mix loadconfig (inside Pleroma.Mixfile)
← Ran mix loadconfig in 10ms
→ Running mix deps.get (inside Pleroma.Mixfile)
→ Running mix archive.check (inside Pleroma.Mixfile)
← Ran mix archive.check in 0ms
* Updating http_signatures ( Making sure you're not a bot! - main)
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 22 (delta 15), reused 0 (delta 0), pack-reused 0 (from 0)

Any idea why it is hanging at this point? I have MIX_DEBUG=true enabled but nothing additional is coming up.

Thanks.

Dunno if you’re still waiting for a solution on this, but this time around I found that I also needed the erlang-rebar3_hex-2.5.0 package.

Solved!

rebar3 was hanging around in the cache and the .hex and .mix directories needed to be purged. Below is each step for a successful upgrade on FreeBSD using supervisord to launch Akkoma:

# service supervisord stop
# su - akkoma
$ cd ~/
$ rm -rf .hex .mix
$ cd .cache
$ rm -rf rebar3
$ cd ~/akkoma
$ export MIX_ENV=prod
$ git fetch
$ git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
$ mix deps.clean --all
$ mix deps.get
$ mix compile
$ su -
# service supervisord start
# exit
$ mix ecto.migrate
$ mix pleroma.frontend install pleroma-fe --ref stable
$ mix pleroma.database vacuum analyse

Hope this helps anyone else during the upgrade process. A hint in the upgrade documentation may be needed for users that install from source.

Cheers!