倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

Windows 厨でも gvm したい ~Cygwin 編~

別に Windows 厨というほど使い倒してるワケではないんですが、Windows でも GVM (Groovy enVironment Manager ) を使いたいなぁと思って試してみました。 GVM は Groovy 関連のツールを簡単にダウンロード & インストールできるツールです。 Groovy をはじめ

  • Gradle
  • vert.x
  • Groovyserv
  • Grails
  • Griffon

なども簡単にインストールできるのでとっても便利、らしいです。 ただ、bash で書かれてるので Windows人にはちょっと敷居が高い感が否めないところ。 bash なら Windows 上で使うには Cygwin をインストールして使うのが王道だろうということで、今回はそれを試してみます。

  1. Cygwin + curl のインストール
  2. GVM のインストール
  3. Cygwin Terminal で gvm
  4. コマンド・プロンプトで gvm?

Cygwin + curl のインストール

Cygwin 自体のインストール方法は、以前の記事『Cygwin + wget インストール』で書いたのでここでは省略。 2度も書きたくない面倒さw ただし、GVM をインストールするためには curl コマンドを使えるようにしないといけないので、前記記事で wget コマンドを選択してインストールしたように、「Select Packages」ダイアログの箇所で「Net」カテゴリにある「curl」にチェックを入れて選択してください。
f:id:waman:20140626060715p:plain

Cygwin はインストールしているけど curl コマンドはインストールしていない、という場合も上記記事と同様に setup.exe から設定を始めます。 Cygwin + curl さえインストールできれば勝ったも同然。

以下、Cygwin をインストールしたディレクトリを 《Cygwin Root》 とします。

GVM のインストール

Cygwin がインストールできたら、デスクトップにできているであろうアイコン(もしくはスタートメニュー)から Cygwin Terminal を起動します。
f:id:waman:20140626062813p:plain

起動が完了したら、curl コマンドによって GVM をインストールします:

curl -s get.gvmtool.net | bash

インストールがうまくいけば、以下のような「GVM」のアスキーアートが表示されるかと思います(下図は既に GVM がインストール済みの場合に curl コマンドを実行した結果ですが)

f:id:waman:20140626062418p:plain

最初インストールするときは何か聞かれたかも。 聞かれなかったかも。 まぁ、curl コマンドさえ使えれば1行のコマンドでインストール完了します。 簡単だ。

ちなみに GVM は

Cygwin Root》/home/《ユーザー名》/.gvm

にインストールされるようですね。 GVM が(自動)ダウンロードするアーカイブなどもこのディレクトリ下に置かれるもよう。

Cygwin Terminal で gvm

では、実際に GVM を使ってみましょう。 まずは Cygwin Terminal にて。 Groovy をダウンロード & インストールしてみます。 バージョンは 2.4.0-beta-1 で。 Cygwin Terminal 上で以下のコマンドを実行します:

gvm install groovy 2.4.0-beta-1

ダウンロードが完了したら、(Groovy の)デフォルトとしてこのバージョンを使うか聞いてくるので、y/n で答えてあげます。 実際にダウンロード & インストールした Groovy は groovy コマンドで実行できます。 例えば

groovy -v

として Groovy のバージョンを確認してみるといいでしょう:

f:id:waman:20140626065912p:plain

指定したバージョンの Groovy が使われてれば OK です。

作業フォルダ
Cygwin Terminal を使う際に少々気にくわないのは作業ディレクトリが「《Cygwin Root》/home/《ユーザー名》」に半強制されるところ。 まぁ、それを受け入れてこのディレクトリ下にプロジェクトを作成していっても別にいいんですが、Windows のデフォルトのユーザー・ディレクトリなどで作業したいこともあるかと思います。 Windows のコマンド・プロンプトなら

「コマンド・プロンプト」アイコン → ポップアップ・メニュー(右クリック) → プロパティ(R) → 「ショートカット」タブ → 作業フォルダー(S)

に起動したいディレクトリへのパスを設定すれば、そのディレクトリでコマンド・プロンプトを開けます。 一方、Cygwin Terminal はこの設定が利かないようですが、もちろん別の箇所でこの設定はできます。 あんまり Cygwin (というか bash)に詳しくないので作法がよく分かりませんが、

  • Cygwin Root》/home/《ユーザー名》/.bashrc

というファイルを開いて、最後の方に

cd c:Documents\ and\ settings/《ユーザー名》  # この行を追加

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

のように cd コマンドで移動しておけばいいんじゃないかと。 最後2行は GVM が .bashrc ファイルの最後に追加した行なので書く必要なし。 コメントによると、この行を最後にしとかないと GVM が動かんぞ!!!とか言ってるので、その上に追加しておきました。

コマンド・プロンプトで gvm

Cygwin をインストールして環境変数 PATH に「Cygwin Root》\bin」を追加しておくと、コマンド・プロンプトや PowerShell から Cygwin (というか bash のコマンド)が使えます。 ただし、ここで使えるコマンドは上記 bin ディレクトリにある exe ファイルに対応するコマンドだけなので、シェルスクリプトとして書かれている gvm コマンドは実行できません。 なので、bash コマンドを使ってこのシェルスクリプトを呼び出す必要があります:

bash --login -i -c "gvm install groovy 2.4.0-beta-1"

--login はログインする、-i はインターラクティブ・モード、-c は後に続くコマンドを実行、らしいです。 bash を使って作業を続けたい場合は

bash --login -i

$ gvm groovy install 2.4.0-beta-1

(最終行の行頭にある「$」記号は入力の必要なし)のようにすることもできます。

とまぁ、Cygwin を使って Windows 上で GVM を使う方法を試してみました。 Cygwin さえインストールすれば GVM 自体のインストールは簡単だと思いますが、Cygwin さんのハードルの高さたるや・・・ とか思ってたら、1年以上前に

なんていう記事があったので、次はこの内容をそのまま試してみようかなと。 あんまりそのまま過ぎるとアレなので、この記事で使われている mingw ってツール経由で Cygwin をインストールしてみる、なんてのも試せるといいなぁ。 いつになるかは分かりませんが(笑)

【改訂新版】 Windows PowerShell ポケットリファレンス

【改訂新版】 Windows PowerShell ポケットリファレンス

Windows PowerShellクックブック

Windows PowerShellクックブック