2

Today I went to install Groovy on this Linx Mint 17.2 install. The SDK (or GVM, SDKMAN) instructions seemed very clear.

SDKMAN site:

Per the install page ...

  1. $ curl -s get.gvmtool.net | bash
  2. $ source "$HOME/.gvm/bin/gvm-init.sh"
  3. $ gvm install groovy # install the latest stable Groovy

After installation is complete and you’ve made it your default version, test it with:

  1. $ groovy -version

The result is completely unexpected.

The program 'groovy' is currently not installed. You can install it by typing:
sudo apt-get install groovy

I executed other reasonable steps, such as ...

  • $ sdk use groovy 2.4.5
    • It says it worked
  • $ sdk current

    No candidates are in use

Try groovy, same result:

  • $ groovy -version

    The program 'groovy' is currently not installed. You can install it by typing: sudo apt-get install groovy

When I look, in the .sdkman candidates folder, there is indeed a copy of Groovy 2.4.5. Something in the install script or some step that's not on the instructions is missing.

While I could point an alias at this groovy, that rather defeats the purpose of using the sdk which would be very useful; provided it works.

I prefer not to manage things like languages and tools manually. I don't think the sdk install works and it may turn out better for me to install from the distribution or package manager.

3 Answers 3

3

Thanks for the heads up regarding the faulty page on the Groovy website. It seems like we have two pages, one correct, the other not:

I'll raise a PR to fix this as soon as possible.

2

The answer was quite simple -- The instructions on Groovy-lang are not current. Looks like they refer to an older version of the SDKMAN.

Start on the SDKMAN site under Get Started:

  1. $ curl -s http://get.sdkman.io | bash
  2. $ source ~/.sdkman/bin/sdkman-init.sh
  3. $ sdk install groovy

Test it out ...

  1. $ groovy -version

Result:

   Groovy Version: 2.4.5 JVM: 1.8.0_66 Vendor: Oracle Corporation OS: Linux

One final check, login to a new terminal and try the groovy -version again. It should also work.

The earlier instructions call-down an older version of the install script and probably an older version of the shell initialise script source-d in the second step.

For background, you may want to look at the issue resolution on github.

0

After I did the initial install, I noticed that it did not setup the current symlink:

.sdkman/candidates/java/:
11.0.15-tem
17.0.3-tem
current -> 11.0.15-tem

.sdkman/candidates/groovy/:
3.0.11

So, even if you create a new shell, the login script does not add groovy to the path since you do not have a current version selected.

/home/user/.sdkman/candidates/java/current/bin:/usr/local/bin

I then issued:

$ sdk use groovy 3.0.11
Setting groovy version 3.0.11 as default.

.sdkman/candidates/groovy/:
3.0.11
current -> 3.0.11

which created the symlink. Then, after creating a new session, I had groovy on the path:

/home/user/.sdkman/candidates/groovy/current/bin:/home/user/.sdkman/candidates/java/current/bin:/usr/local/bin:...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .