Rebar3 detected a lock file from a newer version

$ iex -S mix
Erlang/OTP 23 [erts-11.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

===> Compiling unicode_util_compat
===> Rebar3 detected a lock file from a newer version. It will be loaded in compatibility mode, but important information may be missing or lost. It is recommended to upgrade Rebar3.
===> Compiling certifi
===> Rebar3 detected a lock file from a newer version. It will be loaded in compatibility mode, but important information may be missing or lost. It is recommended to upgrade Rebar3.

OS:

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.1 LTS
Release:	20.04
Codename:	focal

How does one upgrade Rebar3 on Ubuntu machines? (Official Rebar3 docs detail installation on Windows machines but not for Ubuntu.)

You update the rebar3 used my mix with mix local.rebar

3 Likes

I have a bunch of dependencies in a project that yield the same warning. Rebar3 is updated but on recompilation the warnings are still there.

I figured it’s not fatal and didn’t pursue but it’s a curious phenomena.

2 Likes
$ mix local.rebar
/home/maxximiliann/.asdf/installs/elixir/1.10.3-otp-22/.mix/rebar already exists, overwrite? [Yn] y
* creating /home/maxximiliann/.asdf/installs/elixir/1.10.3-otp-22/.mix/rebar
/home/maxximiliann/.asdf/installs/elixir/1.10.3-otp-22/.mix/rebar3 already exists, overwrite? [Yn] y
* creating /home/maxximiliann/.asdf/installs/elixir/1.10.3-otp-22/.mix/rebar34

$ rm -rf _build

$ iex -S mix
Erlang/OTP 23 [erts-11.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

===> Compiling unicode_util_compat
===> Rebar3 detected a lock file from a newer version. It will be loaded in compatibility mode, but important information may be missing or lost. It is recommended to upgrade Rebar3.
===> Compiling certifi
===> Rebar3 detected a lock file from a newer version. It will be loaded in compatibility mode, but important information may be missing or lost. It is recommended to upgrade Rebar3.

What additional action is needed to address these warnings?

Then your rebar version used by mix is as current as it can be. There is nothing for you to do, except for waiting to the next version of elixir that brings support for newer version of rebar3

1 Like

Look what I found:

Still doesn’t help the eventstore project though:

==> eventstore
Compiling 58 files (.ex)
Generated eventstore app
===> Compiling ctx
===> Rebar3 detected a lock file from a newer version. It will be loaded in compatibility mode, but important information may be missing or lost. It is recommended to upgrade Rebar3.
===> Fetching rebar3_proper v0.12.1
===> Version cached at /Users/dimi/.cache/rebar3/hex/hexpm/packages/rebar3_proper-0.12.1.tar is up to date, reusing it

Oops. Somebody should tell Valim :laughing: