Windows7(64bit)でVirtualBox + Vagrant + veewee環境を構築した時のメモ
ちょっと前にVim7.3のパチラッシュとプラグインのif_lua化に対応するために
ゴニョゴニョしたのを(もう忘れてるかもしれないけど)忘れないうちにメモっておく。
(後半はそのうちchefとかansibleあたりでやってみたい)
まずは
WindowsでのVagrant環境構築
とか
veeweeを使ってVagrant用のboxを自分で作る方法
を参考に必要なソフト類をインストール
ここからダウンロードしてインストール
- Vagrant
ここからダウンロードしてインストール
ここから2.0.0(x64版)とDevKit(mingw64-64)をダウンロードしてインストール
DevKitはC:\Ruby200-x64\dkに展開し、
> gem install bundler
でbundlerを入れる
- veewee
githubから持ってきてインストール
> git clone git://github.com/jedi4ever/veewee.git > cd veewee > bundle install
- boxの作成
> bundle exec veewee vbox define 'CentOS-6.4-x86_64-minimal' 'CentOS-6.4-x86_64-minimal' -workdir=veeweeのパス
で設定ファイルを作成し、適宜ファイルを編集したら、
> bundle exec veewee vbox build 'CentOS-6.4-x86_64-minimal' -workdir=veeweeのパス
でVirtualBox用のイメージを作成して
> bundle exec veewee vbox export 'CentOS-6.4-x86_64-minimal'
でVagrant用のイメージに変換
ここまではコマンドプロンプトで実行。
この後は都合によりcygwinを使う。
- Vagrantに追加
vagrant box add 'CentOS-6.4-x86_64-minimal' 'イメージのあるパス'
- Vagrantfileを編集
Vagrant.configure("2") do |config| config.vm.define :gentoo do |gentoo| gentoo.vm.box = "gentoo-amd64" gentoo.vm.network :private_network, ip: "192.168.56.101" end config.vm.define :centos64 do |centos64| centos64.vm.box = "CentOS-6.4-x86_64-minimal" centos64.vm.network :private_network, ip: "192.168.56.102" end end
- Vimをビルド
vagrant upするとgentooとcentosが立ち上がるようになったので、
(gentooのインストールは省略)
VimをビルドしたいOSにsshで入って
# これから作成する.soのパスを追加しておく $ echo 'export LD_LIBRARY_PATH="$HOME/.pyenv/versions/2.7.5/lib:$HOME/.pyenv/versions/3.3.2/lib:$HOME/.rbenv/versions/1.9.3-p448/lib:$HOME/.luaenv/versions/luajit-2.0.1-p1/lib:$HOME/.plenv/versions/5.18.0/lib/perl5/5.18.0/x86_64-linux-thread-multi/CORE"' >> ~/.bash_profile $ echo '' >> ~/.bash_profile # pyenvのインストール $ git clone git://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYTHON_CONFIGURE_OPTS="--enable-shared"' >> ~/.bash_profile $ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile $ echo '' >> ~/.bash_profile # plenvのインストール $ git clone git://github.com/tokuhirom/plenv.git ~/.plenv $ git clone git://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/ $ echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(plenv init -)"' >> ~/.bash_profile $ echo '' >> ~/.bash_profile # rbenvのインストール $ echo 'export RUBY_CONFIGURE_OPTS="--enable-shared"' >> ~/.bash_profile $ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv $ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ echo '' >> ~/.bash_profile # luaenvのインストール $ git clone git://github.com/cehoffman/luaenv.git ~/.luaenv $ git clone git://github.com/cehoffman/lua-build.git ~/.luaenv/plugins/lua-build $ echo 'export PATH="$HOME/.luaenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(luaenv init -)"' >> ~/.bash_profile $ echo '' >> ~/.bash_profile # 設定した環境変数を読み込む $ exec $SHELL -l # Vimのif_xxx用にインストール $ pyenv install 2.7.5 $ pyenv install 3.3.2 $ plenv install 5.18.0 -Dusethreads -Duseshrplib $ rbenv install 1.9.3-p448 $ luaenv install luajit-2.0.1-p1 # vimをインストール $ hg clone https://code.google.com/p/vim/ $ cd vim $ export vi_cv_path_python3=$HOME/.pyenv/versions/3.3.2/bin/python3 $ ./configure \ --with-features=huge \ --enable-multibyte \ --enable-gui=gtk2 \ --enable-rubyinterp=dynamic \ --enable-pythoninterp=dynamic \ --with-python-config-dir=$HOME/.pyenv/versions/2.7.5/lib/python2.7/config \ --enable-python3interp=dynamic \ --with-python3-config-dir=$HOME/.pyenv/versions/3.3.2/lib/python3.3/config-3.3m \ --enable-perlinterp=dynamic \ --enable-luainterp=dynamic \ --with-luajit \ --with-lua-prefix=$HOME/.luaenv/versions/luajit-2.0.1-p1 \ --enable-gpm \ --enable-xim \ --enable-cscope \ --enable-fontset \ --with-compiledby="daisuzu <daisuzu@gmail.com>" \ --prefix=$HOME/local $ make $ make install
とするとVimとif_xxxに必要な.soが揃うので一式を.tar.gzとかで固めて
貧弱な(gitもhgもyumも使えない)環境に持っていけばOK。