0 で始まる IPアドレスを割り当てるとエラーになる
Vagrant で立ち上げる仮想マシンに IPアドレスを割り当てることができるが、IPアドレスの各ブロックが 0 から始るもの (例:192.168.33.07) を割り当てると vagrant up
時に以下のエラーが発生する。0から始まらないように変えることで解決できる
/opt/vagrant/embedded/lib/ruby/2.2.0/ipaddr.rb:530:in `block in in_addr': zero-filled number in IPv4 address is ambiguous (IPAddr::InvalidAddressError)
参考記事
Vagrant のアップデートの手順 (or 再インストール)
現在インストールされているVagrantのバージョンを確認 vagrant version
アップデート出てるならその旨のメッセージが出る
(vagrant -v
はアップデートを確認してくれない)
一応、最新バージョンにバグなどの問題がないかググって確かめ、以下手順でアップデート
- Download Vagrant - Vagrant から最新版をダウンロード
- 今入っている Vagrant をアンインストール。ステップ1でダウンロードした仮想ディスク内の uninstall.tool を実行
ターミナルが開き、アンインストールするか?と聞いてくるので Yes. - Vagrant.pkg (インストーラー) をクリックし、インストール。インストール用の仮想ディスクをアンマウントし削除するか聞いてくるので Yes.
- Vagrant で仮想サーバーを立ち上げ、正常に動作しているか確認
もし、エラーVagrant failed to initialize at a very early stage
が出たら、vagrant plugin expunge --reinstall
でプラグインをインストールし直す
Vagrant box のアップデートの手順
- まとめて
vagrant box update
- 個別
vagrant box update --box **/**
仮想マシンの削除・作り直しの手順
不要なものは消しておく
- Vagrant で仮想マシンを削除
vagrant destroy
(シャットダウンもしてくれる)
プロジェクトディレクトリ中のデータは削除されない - VirtualBoxを起動し、消したい仮想マシンを右クリック、メニューから削除
(= /Users/ユーザー名/VirtualBox VMs/仮想マシン名 が削除されるはず。残ってたら手動で削除)
【※注意】Linked Clone を使っている場合は、元となる仮想サーバーを削除しないこと
root ユーザー で実行する
ログインした時のユーザーは vagrant
初期状態だと su
(パラーメータなしで root にユーザー切替え)が使えないのでパスワードを設定する
root ユーザーにスイッチ
sudo -s
パスワードを設定(今回は vagrant とする)
passwd root
次回から、su
で root ユーザーに切り替えることができる
exit で root から 元の vagrant に戻る
参考記事
MAMP(Xampp) と Vagrant、どっちを使う?
MAMP(Xampp)
ウェブサーバー、PHP、MySQL が使える環境があれば良いという場合は MAMP(Xampp) 選択肢となり得る。黒い画面への抵抗が大きい人向け。ディスク使用容量は700MB程度。
MAMP もある程度カスタマイズできるようだが、後々のことを考えると Vagrant を使う方が結局楽じゃなかろうか。
Vagrant
ローカルPC内に仮想マシンを構築。手元のパソコンがあたかも別のパソコンになる感じ。
CentOS 6.5 で1.8GB、新たな仮想マシンを立ち上げるごとに倍増するので、ディスク容量に注意 (Linked Clone を使えば 節約できる場合もある)
任意の OS (Linux, Windows 他) をインストールしたり、サーバー設定をいじったり、プログラム言語やモジュールを追加したり自由にできる。初期化、スナップショット、バージョン管理(プラグイン)が容易にできるので失敗を恐れず色々できる。Boxで他の人と同じ環境をワンステップで構築できるメリットも
コマンド操作に抵抗がある人でも、ドットインストール Vagrant入門 をひと通りやってみたら案外いけると思う人が多いんじゃないだろうか。