Stratus3D / asdf-rebar

Rebar3/Rebar version management plugin for asdf
MIT License
38 stars 6 forks source link

Rebar3 version 3.17.0 not supported #10

Closed walter-weinmann closed 2 years ago

walter-weinmann commented 2 years ago

Rebar3 version 3.17.0 is apparently not supported.

Stratus3D commented 2 years ago

It seems to be working for me on OSX 10.15.7:


$ asdf install rebar 3.17.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   121  100   121    0     0    410      0 --:--:-- --:--:-- --:--:--   410
100  425k    0  425k    0     0   446k      0 --:--:-- --:--:-- --:--:--  446k
=WARNING REPORT==== 9-Dec-2021::09:02:51.857328 ===
Description: "Authenticity is not established by certificate path validation"
     Reason: "Option {verify, verify_peer} and cacertfile/cacerts is missing"

Evaluating config script "/private/var/folders/7m/9bq62tmj60zf14d788w0lk8c0000gp/T/rebar3-3.17.0/_build/default/lib/rebar/src/rebar.app.src.script"
===> Verifying dependencies...
===> Fetching bbmustache v1.10.0
===> Fetching cth_readable v1.5.1
===> Fetching eunit_formatters v0.5.0
===> Fetching relx v4.5.0
===> Fetching ssl_verify_fun v1.1.6
===> Analyzing applications...
===> Compiling cf
===> Compiling cth_readable
===> Compiling eunit_formatters
===> Compiling ssl_verify_fun
===> Compiling bbmustache
===> Compiling relx
===> Compiling getopt
===> Compiling providers
===> Compiling erlware_commons
===> Compiling certifi
===> Analyzing applications...
===> Compiling rebar
===> Verifying dependencies...
===> Cleaning out bbmustache...
===> Cleaning out certifi...
===> Cleaning out cf...
===> Cleaning out cth_readable...
===> Cleaning out erlware_commons...
===> Cleaning out eunit_formatters...
===> Cleaning out getopt...
===> Cleaning out providers...
===> Cleaning out rebar...
===> Cleaning out relx...
===> Cleaning out ssl_verify_fun...
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling cf
===> Compiling cth_readable
===> Compiling eunit_formatters
===> Compiling ssl_verify_fun
===> Compiling bbmustache
===> Compiling relx
===> Compiling getopt
===> Compiling providers
===> Compiling erlware_commons
===> Compiling certifi
===> Analyzing applications...
===> Compiling rebar
===> Building escript for rebar...

$ asdf list rebar   
  2.6.4
  3.16.1
  3.17.0
  3.4.1
  3.7.4

$ asdf shell rebar 3.17.0

$ rebar3 --version
rebar 3.17.0 on Erlang/OTP 24 Erts 12.0.4
walter-weinmann commented 2 years ago

Ubuntu 20.04 LTS

asdf plugin update --all

walter@ubuntu:~$ asdf plugin update --all
Updating vim to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating imagemagick to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating kotlin to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating java to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating python to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating cmake to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating tmux to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating elixir to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating rebar to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating nodejs to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating julia to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating yarn to main
Already on 'main'
Your branch is up to date with 'origin/main'.
Updating R to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating rust to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating erlang to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating golang to master
Already on 'master'
Your branch is up to date with 'origin/master'.
Updating nim to main
Already on 'main'
Your branch is up to date with 'origin/main'.
Updating gradle to master
Already on 'master'
Your branch is up to date with 'origin/master'.
walter@ubuntu:~$ 

asdf list all rebar

walter@ubuntu:~$ asdf list all rebar
2.0.0
2.1.0
2.2.0
2.3.0
2.3.1
2.4.0
2.5.0
2.5.1
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
3.0.0
3.1.0
3.1.1
3.2.0
3.3.0
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.4.0
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.4.7
3.5.0
3.5.1
3.5.2
3.5.3
3.17.0
3.7.0
3.7.1
3.7.2
3.7.3
3.7.4
3.7.5
3.8.0
3.9.0
3.9.1
3.10.0
3.11.0
3.11.1
3.12.0
3.13.0
3.13.1
3.13.2
3.13.3
3.14.0-rc1
3.14.0-rc2
3.14.0
3.14.1
3.14.2
3.14.3
3.14.4
3.15.0
3.15.1
3.15.2
3.16.0
3.16.1
Stratus3D commented 2 years ago

Ah, the sorting is off.

3.5.3
3.17.0
3.7.0
Stratus3D commented 2 years ago

Odd that the sorting is off for only that version. All other versions appear to be sorted correctly.

walter-weinmann commented 2 years ago

That's fine for me - I didn't expect this kind of issue.

Stratus3D commented 2 years ago

I don't understand why version 3.17.0 is out of order. Really odd because we are sorting the versions before displaying them.

michallepicki commented 2 years ago

I also was not seeing 3.17.0 and thought it's not supported.

Stratus3D commented 2 years ago

This has been fixed by https://github.com/Stratus3D/asdf-rebar/pull/11!

adolfogc commented 2 years ago

Hi,

I have a project .tool-versions file with the following:

rebar 3.17.0
erlang 24.2
elixir 1.13

I'm also using macOS (v12.1), and the installation fails with the following message:

elixir 1.13 is already installed
erlang 24.2 is already installed
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   121  100   121    0     0    299      0 --:--:-- --:--:-- --:--:--   305
100  425k  100  425k    0     0   336k      0  0:00:01  0:00:01 --:--:-- 1099k
No version is set for command escript
Consider adding one of the following versions in your config file at 
erlang 24.2
Stratus3D commented 2 years ago

@adolfogc that appears to be an issue with the erlang plugin, not this rebar plugin (escript is part of Erlang). I'd suggest re-installing Erlang or looking at the asdf-erlang issue tracker. https://github.com/asdf-vm/asdf-erlang

adolfogc commented 2 years ago

Hi @Stratus3D thanks for the reply. This error only happens when I have the rebar line in the .tool-versions file. It also happens when I issue manually: asdf install rebar latest.

Stratus3D commented 2 years ago

@adolfogc try switching the order if you want rebar to be compiled with the Erlang version you've specified:

erlang 24.2
rebar 3.17.0
elixir 1.13
adolfogc commented 2 years ago

@Stratus3D thanks again for the reply. I tried that as well but it fails and rebar3 doesn't get installed.

Stratus3D commented 2 years ago

If asdf install fails before trying to install the rebar version then it is an issue with asdf-erlang.

sergseven commented 2 years ago

it seems the issue @adolfogc faced is reproducible when there is no shell/global version set for erlang, eg for a local directory:

➜ project1 ✗ asdf current
elixir          ______          No version is set. Run "asdf <global|shell|local> elixir <version>"
erlang          20.3.8.2        ~/dev/project1/.tool-versions
rebar           3.11.0          Not installed. Run "asdf install rebar 3.11.0"

but for an outside directory(without .tool-versions):

➜  dev ✗ asdf current
elixir          ______          No version is set. Run "asdf <global|shell|local> elixir <version>"
erlang          ______          No version is set. Run "asdf <global|shell|local> erlang <version>"
rebar           ______          No version is set. Run "asdf <global|shell|local> rebar <version>"

after setting the erlang version as a shell/global:

➜ project1 ✗ asdf shell erlang 20.3.8.2

it appears to be working:

➜ project1 ✗ asdf install

downloads and builds rebar properly(using the shell/global erlang version and its escript command).

Not sure what is the source of the issue and where a new issue should be created. From my prospective, "it" should fully use the version specified locally to get and build rebar3, not the shell/global one, that could be set to a completely different non-compatible erlang version.