Edited at

WindowsでVagrant+Git+MinGw-Getを共存

More than 5 years have passed since last update.

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のパスを通す)


.bash_profile

export PATH=/d/opt/VirtualBox:$PATH


※私の環境では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
: (終了するまで待つ)


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
: (終了するまで待つ)


mingw-getを展開



  • D:\opt\Vagrant\embedded\mingwディレクトリの下に上書き展開する。


  • /mingw/var/lib/mingw-get/data/defaults.xmlの「subsystem="MSYS"」行を修正する。


defaults.xml

<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:
: (パッケージの一覧を表示する)


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