uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

GVM: Groovy enVironment Manager

GVM Toolというのがありますので入れてみました。Groovyを始めとするgroovy関連のツール・フレームワーク類をインストールして、複数のバージョンを切り替えて使用したりするためのものです。RubyのRVM相当のものとのこと。

% curl -s get.gvmtool.net | bash   

こんな風にしてGVMをインストールした上で、以下のようにして特定のバージョンのGroovyをインストールできます。以下ではバージョンを指定していないので、最新版のgroovy(2.0.5)がインストールされることになります。

% gvm install groovy

Groovy enVironment Manager 0.8

GVM server 0.8 on vertx 1.2.3.final

 

Downloading: groovy 2.0.5

 

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0

100 27.0M  100 27.0M    0     0   283k      0  0:01:37  0:01:37 --:--:--  257k

 

Installing: groovy 2.0.5

Done installing!

 

Start using groovy 2.0.5 by issuing the following command:

   gvm use groovy 2.0.5

実際に特定のバージョンのGroovyを使いはじめるには、gvm useコマンドを実行します。

%  gvm use groovy 2.0.5 

確認してみます。

groovy -v 
Groovy Version: 2.0.5 JVM: 1.7.0_06 Vendor: Oracle Corporation OS: Mac OS X

確かにバージョンが上っています。GVMを導入した後で、groovyコマンドで実際に実行されるのは

which groovy  

/Users/uehaj/.gvm/groovy/current/bin/groovy

このラッパー経由になるようです。GVM自身とそれがインストールするコンポーネントは、上でも推測できるように、~/.gvm配下に保存されます。

gvm listで、利用できる各バージョンをリストアップできます。 

% gvm list groovy               

Groovy enVironment Manager 0.8

GVM server 0.8 on vertx 1.2.3.final

 

--------------------------------------------------------

Available Groovy Versions

--------------------------------------------------------

 

   1.5.0

   1.5.1

   1.5.2

   1.5.3

   1.5.4

   1.5.5

   1.5.6

   1.5.7

   1.5.8

   1.6.0

   1.6.1

   1.6.2

   1.6.3

   1.6.4

   1.6.5

   1.6.6

   1.6.7

   1.6.8

   1.6.9

   1.7.0

   1.7.11

   1.8.0

   1.8.1

   1.8.2

   1.8.3

   1.8.4

   1.8.5

   1.8.6

   1.8.7

   1.8.8

   2.0.0

   2.0.1

   2.0.2

   2.0.3

   2.0.4

 > 2.0.5

--------------------------------------------------------

* - installed

> - currently in use

-------------------------------------------------------- 

groovyだけでなく、grails, gradle, griffonに対応しています。

これは便利。インストールが便利。

GVMは、パッケージ化されたインストールシステムです。RPMだのyumだのaptなど+alternativesの仕組みですが、それらとは異なり、OSから独立しています。だがそれがいい。(bashベースなので、Windowsではcygwinが必要とのこと。)