MacでGradleのインストールについて+GVMのコマンドなど使い方まとめ

スポンサーリンク

Gradleを使うにあたってGVMをインストールする事にしましたので使い方をまとめておきます。

GVMとは

GVMはGroovyやGrails、GradleなどGroovy関連のプロダクトのインストールやアップデート、バージョン管理を一元的に行えるツールです。RubyにおけるRVMやrbenvのようなものになります。

事前準備

実行環境は Mac OS X 10.10.2 です。Windowsは知りませんがLinuxも同じような感じで出来るはずです。bashcurlunzipコマンドが必要なのでもしインストールされてない場合はインストールする必要があります。

あとインストール後でもいいと思いますが先にJAVA_HOMEを設定します。スクリプトを見てみると設定されてなければ自動でセットするようになってますが、ついでなのでやっておきましょう。JAVAのインストールとJAVA_HOMEの設定については  Macで複数バージョンのJava (JDK) をインストールして切り替える方法 を参照して下さい。JDK6以上が必要です。

GVMのインストール

 GVM by gvmtool にある通り、curlコマンドでサイトからスクリプトダウンロードしてbashで実行するだけです。

$ curl -s get.gvmtool.net | bash

インストール出来たら次のコマンドを実行するか、再起動で環境設定を更新して下さい。

$ source "/Users/tasukujp/.gvm/bin/gvm-init.sh"

ヘルプが表示されたら完了です。

$ gvm help

~/.bash_profile ~/.bashrc .zshrcに以下が書き加えられているはずです。ファイルが無ければ自動的に作成されています。

#THIS MUST BE AT THE END OF THE FILE FOR GVM TO WORK!!!
[[ -s "/Users/tasukujp/.gvm/bin/gvm-init.sh" ]] && source "/Users/tasukujp/.gvm/bin/gvm-init.sh"

Gradleのインストール

GVMのinstallコマンドを使ってGradleをインストールします。

$ gvm install gradle

Downloading: gradle 2.3

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem: Invalid certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html

...省略...

Stop! The archive was corrupt and has been removed! Please try installing again.

まさかのエラーが出ました…。別のPCでは特に何もせずに成功したので原因がよくわかりません。調べてみるとcurlで失敗してるみたいなので~/.curlrcを作成します。

$ echo insecure >> ~/.curlrc

もう一度実行すると成功しました。

$ gvm install gradle

Downloading: gradle 2.3

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0   354    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 57.2M  100 57.2M    0     0  8170k      0  0:00:07  0:00:07 --:--:-- 11.2M

Installing: gradle 2.3
Done installing!

Do you want gradle 2.3 to be set as default? (Y/n): y

Setting gradle 2.3 as default.

Gradleのバージョンを指定してインストール

バージョンを指定しないと最新の安定版がインストールされますが、特定のバージョンをインストールする事も可能です。

バージョンの一覧を確認

インストール可能なバージョンが表示されます。現在インストール済みのバージョンと使用しているバージョンも確認できます。

$ gvm list gradle

バージョンを指定してインストール

バージョンを付けてインストールコマンドを実行します。

$ gvm install gradle 1.9

使用するバージョンを指定

複数のバージョンをローカルインストールしたらデフォルトバージョンを指定します。

$ gvm default gradle 1.9

Gradleのインストール先

Gradleは~/.gvm/gradle以下にインストールされます。

$ ls -l .gvm/gradle/
total 8
drwxr-xr-x  13 tasukujp  staff  442 11 19  2013 1.9
drwxr-xr-x  13 tasukujp  staff  442  2 16 06:16 2.3
lrwxr-xr-x   1 tasukujp  staff   31  4 11 21:48 current -> /Users/tasukujp/.gvm/gradle/1.9

GVMのその他コマンド

上記以外のコマンドも基本的な使い方はgvm helpで分かると思いますが、その他のコマンドについていくつか書きます。

useとdefaultの違い

gvm defaultで各プロダクトの使用するバージョンを指定しますが、gvm useというコマンドもあります。これもバージョンを変更するコマンドですが、公式サイトに for the current shell only と書かれている通り、現在起動しているシェルの間だけバージョンを変更します。そのため再起動した場合は元のバージョンに戻ってしまうので注意が必要です。

$ gvm use gradle 1.9

Using gradle version 1.9 in this shell.
$ gradle -v

------------------------------------------------------------
Gradle 1.9
------------------------------------------------------------

再起動

Last login: Sat Apr 11 23:58:35 on ttys000
$ gradle -v

------------------------------------------------------------
Gradle 2.3
------------------------------------------------------------

offlineでオフラインモードの切り替え

GVMはインストール可能なパッケージの最新情報を取得するため、起動毎にネットに接続しますが、オフライン状態の場合はタイムアウトになるまで応答が返ってこなくなります。このような場合にオフラインモードを切り替えると不要な待ち時間がなくなります。

$ gvm offline enable
Forced offline mode enabled.
$ gvm offline disable
Online mode re-enabled!

outdatedとselfupdateでアップデート

gvm outdatedで各プロダクトのアップデート、gvm selfupdateでGVM自身のアップデートが出来ます。

$ gvm outdated
All candidates are up-to-date
$ gvm selfupdate
No update available at this time.

はてぶコメントで指摘がありましたので訂正。

gvm outdatedはアップデートがあるかの確認で、インストール自体は個別に行う必要があります。

$ gvm outdated
Outdated:
gradle (1.9, 2.3 < 2.4)

currentでバージョン確認

現在インストールされてるプロダクトに指定しているバージョンが一覧で見れます。

$ gvm current
Using:
gradle: 2.3

flushで削除

gvm flushに指定できるのは<candidates|broadcast|archives|temp>ですが、どうやら削除コマンドのようです。あまり使うことはなさそう。

$ gvm flush archives
       2 archive(s) flushed, freeing 109M   /Users/tasukujp/.gvm/archives.

broadcastで確認

GVMのお知らせみたいなものですかね。

$ gvm broadcast
==== BROADCAST =================================================================
* 02/04/15: Grails 3.0.1 has been released on GVM. #grailsfw
* 01/04/15: Springboot 1.2.3.RELEASE has been released on GVM. #springboot
* 01/04/15: Springboot 1.1.12.RELEASE has been released on GVM. #springboot
================================================================================

Gradleのインストールについて補足

GradleについてはHomebrewからもインストールする事が可能です。バージョンを指定してインストールしたい場合は  Homebrew-versions を入れます。

$ brew install gradle

GVMを使ってGradleをインストールした場合は、GVMが自動的にパスの設定を追加してくれますが、Homebrewを使用した場合は自身でPATHを追加する必要があります。PATHの追加だけでも問題ありませんが、分かりやすくするためにGRADLE_HOMEも設定しています。

$ vi ~/.bash_profile
export GRADLE_HOME=/usr/local/Cellar/~
export PATH=$GRADLE_HOME/bin:$PATH

参考書籍

Gradle徹底入門 次世代ビルドツールによる自動化基盤の構築
綿引 琢磨 須江 信洋 林 政利 今井 勝信
翔泳社
売り上げランキング: 152,853

参考サイト

 curlでサーバ証明書の検証で失敗したとき - ni-blog

 cURL - Details on Server SSL Certificates