Windows XP SP3上でVagrant+Git+MinGw-Getを共存させてみました。
手順の覚え書きを下記に記載しておきます。
※私の環境では動作しましたが、この操作が推奨とは思ってないので、ご利用は自己責任で^^; おかしなところがあったらご指摘いただければ幸いです。
また、日本語表示などの細かな設定は今回省略してあります。また時間があるときにでも書き足したいなと思っています。
環境変数の設定
- お好みの場所をホームディレクトリにするために、Windowsシステムのプロパティから環境変数「HOME」を設定する。(未指定の場合
%USERPROFILE%
がホームディレクトリになる)
7-Zipのインストール
- mingw-getやRubyの7zファイルを展開するときに必要になる解凍ソフトをインストールしておく。
- DL URL:http://sevenzip.sourceforge.jp/
VirtualBoxのインストール
- インストーラを実行する。(例では
D:\opt\VirtualBox
へインストール) - ホームディレクトリとなる場所に「.bash_profile」を用意し、下記を追記する。(VBoxManage.exeのパスを通す)
export PATH=/d/opt/VirtualBox:$PATH
- 使用ファイル:
VirtualBox-4.3.0-89960-Win.exe
VirtualBox-4.2.16-86992-Win.exe - DL URL:https://www.virtualbox.org/wiki/Downloads
※私の環境ではVirtualBox Host-Only Ethernet Adapterがずっと「ネットワークアドレスの取得中」となってしまいましたが、ネットワークのプロパティでVirtualBox Bridged Networking Driverのチェックを入れると、とりあえず動きました。
※当初、4.3を使いましたが、どうもvagrantが対応していないようでconfig.vm.network :private_network
を有効にするとエラーになってしまいました。そこで4.2.16をインストールする事でこの問題は回避できましたので追記します。(2013/10/30)
Vagrantのインストール
- インストーラを実行する。(例では
D:\opt\Vagrant
へインストール) - インストール後、Vagrantのminttyを試す。
- 「ファイル名を指定して実行」を起動。
-
D:\opt\Vagrant\embedded\bin\mintty.exe /bin/bash --login -i
で実行。(お好みでConsole2やckw等でもOK) - ターミナル画面で下記コマンドを実行していく。(boxファイルをDLするので少し時間がかかる)
$ mkdir ~/vagrant_test
$ cd ~/vagrant_test
$ vagrant box add centos6.4-i386 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-i386-v20130731.box
$ vagrant init centos6.4-i386
$ vagrant up
: (起動するまで待つ)
$ vagrant halt
: (終了するまで待つ)
- インストーラ実行により
D:\opt\Vagrant\bin
のPATHが通る。 - 使用ファイル:Vagrant_1.3.5.msi
- DL URL:http://downloads.vagrantup.com/
PortableGitを展開
- minttyはexitしておく。
-
D:\opt\Vagrant\embedded
ディレクトリに上書き展開する。 - 展開後、Vagrantのコンソールからgitを試してみる
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
(usernameとemalは各自設定にあわせること)
$ cd ~/vagrant_test
$ git init
$ touch testfile
$ git add .
$ git status
: (testfileがnew fileとして表示されるはず)
$ git commit -m'First commit'
: (コメントをつけてコミットする)
$ git log
: (先のコミットログが確認できる)
- そしてgitを入れるとsshが使えるようになるのでVagrantでも試してみる。
$ ssh -v
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
: (sshのバージョン確認)
$ cd ~/vagrant_test
$ vagrant up
: (起動するまで待つ)
$ vagrant ssh
: (仮想環境にssh接続できるか確認)
$ exit
: (仮想環境から抜ける)
$ vagrant halt
: (終了するまで待つ)
- 使用ファイル:PortableGit-1.8.4-preview20130916.7z
- DL URL:https://code.google.com/p/msysgit/downloads/list
mingw-getを展開
-
D:\opt\Vagrant\embedded\mingw
ディレクトリの下に上書き展開する。 -
/mingw/var/lib/mingw-get/data/defaults.xml
の「subsystem="MSYS"」行を修正する。
<profile project="MinGW" application="mingw-get">
: (省略)
<system-map id="default">
:
<sysroot subsystem="mingw32" path="%R" />
<sysroot subsystem="MSYS" path="%R/.." />
</system-map>
</profile>
- これにより、mingw-getを使ってパッケージの操作ができるようになっています。試してみましょう。
$ mingw-get update
: (パッケージカタログが更新される)
$ mingw-get list | grep Package:
: (パッケージの一覧を表示する)
- 使用ファイル:mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip
- DL URL:http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/
VagrantのRubyをアップデート(ちょっと待ち)
今回はとりあえずVagrantのRubyをそのまま使ってみようと思います。
参考にさせていただいたサイト
先達の知恵は偉大ですね。この場をかりてお礼申し上げます。
http://qiita.com/ogomr/items/98a33f47f6ba050adac4
http://hyokonia.tumblr.com/post/18425275737/mingw-msys
http://blog.vitamin11.org/2013/06/windowsvagrant_12.html