Vagrant関係メモ

Vagrant関係での困ったこととその対処方のメモ。

と言っても、基本相方にお願いしちゃってるから解決にあまり困ってない。
※逐一更新項目。

最低限覚えておくコマンド

  1. 『vagrant up』ローカルサーバ起動 ※初回が特に時間がかかるよ!
  2. 『vagrant ssh』ローカルにログイン
  3. 『vagrant halt』ローカルサーバ終了
  4. 『vagrant up --provision』ローカルサーバを再構築・更新 ※時間がかかるよ!

とりあえず、これだけ覚えておけば、最低限使うに困らない。
他に知りたければ『【まとめ】Vagrant コマンド一覧』あたりがオススメ。
provision機能を使うと便利らしいよ『Vagrantのprovisionでローカル開発環境をupと同時に整える (`・ω・´)ゞ|杏z 学習帳

共有ディレクトリの変更

VirtualBoxで変えても変えても共有ディレクトリが変わらないと思ったら、vagrantの設定ファイルの方を変更が必要だったという話。
vagrantコマンドを実行するディレクトリにある『Vagrantfile』の下記の部分を書き換える

#  config.vm.synced_folder "PCのディレクトリ", "仮想環境内ディレクトリ", :mount_options => ["dmode=権限", "fmode=権限"]
# 例↓
  config.vm.synced_folder "d:/www", "/vagrant", :mount_options => ["dmode=777", "fmode=777"]

仮想環境にアクセスするIPアドレスを変更

『Vagrantfile』で下記を変えたいIPに変更する。
コメントアウトされていたら解放を忘れずに!

  config.vm.network "private_network", ip: "192.168.33.10"

外部読込させたjsやmp3がスーパーリロードしても更新されない

最初ブラウザのせいかと思って、metaでcacheを消したりしたが変わらず。
スーパーリロードしても変わらない時点でオカシイのだけど、念のため他のブラウザで確認したところ、同じキャッシュが残っていた。
そんな場合は自分のローカル環境が原因です。
apache自身がキャッシュ残すなんて、2015年初めて知ったんだ…

httpd.confに下記を追記して再起動で解決だそうで…

<Directory [対象のディレクトリ]>
EnableMMAP Off
EnableSendfile Off
</Directory>

※参照:VirtualBox - 静的ファイルがキャッシュされる(ブラウザキャッシュじゃない場合) - Qiita

PHPインストール済みなのに、PHP実行系bashが実行されない!

単純に作成者が意図したPHP実行パスと自分の環境のパスが違うことがあるよ。
perlとかPHP以外にもあり得る現象。
bashしたら/usr/local/bin/phpがNo suchなんですって

vagrantのboxを軽量化して作る

vagrant起動時の高速化とかして文章量増えたから、別ページに置いた
vagrant用のboxサイズを小さくしたい

PuPHPetを使いvagrant環境を設定

vagrantを設定するのに、PuPHPetを使った方が簡単。
PuPHPetでの設定メモ

Windows10のアプデ後、VirtualBoxが起動しない

アップデート後、ローカルサーバが起動しない。
VirtualBoxでサーバ状態を確認しようとするも、そもそもVirtualBox自体が起動しない状態。
原因は、使っていたVirtualBoxやvagrantが、更新されたWindowsと相性が悪いこと。
『VirtualBox』や『Vagrant』を新しいバージョンにアップデートしませう。
アップデート失敗する場合は、1回アンインストールして、新しく入れ直してください。
入れ直しになったとして、サーバ自体は残っている。何かの間違いがなければ。

アクセス出来ないホスト名がある

ちょっと前まで使えていたローカルサーバが突然ブラウザから使えなくなった。
『http』を『https』に勝手にリダイレクトするくせに、localhostやIP指定なら接続できるという症状。
原因は、VirutalHostで『.app』『.dev』が含まれているホスト名を設定していることなので、変更するのが良い。めんどくさいけど。
参照:Google ChromeでVagrant+VirtualBox等の開発環境でhttps接続にリダイレクトされる問題

vagrantコマンド実行時『/puphpet/ruby/to_bool.rb:9』

/puphpet/ruby/to_bool.rb:9: warning: constant ::Fixnum is deprecated

Fixnum warning with Vagrant 2.0.1 · Issue #2719 · puphpet/puphpet · GitHub
戸惑っている人は多くも解決策はなく、そもそも特に問題もないので無視して良い。
VBoxのバージョン変えたら消えた。

『vagrant up』が起動しなくなった

下記のようなエラーが出る状態になった。

==> サーバ名: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "--type", "headless"]

Stderr: VBoxManage.exe: error: VMMR0_DO_NEM_INIT_VM failed: VERR_NEM_MISSING_KERNEL_API_2 (VERR_NEM_MISSING_KERNEL_API_2).
VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

大概はVirtualBoxが原因らしいので、インストールし直せば解決する。
でなくても『virtualbox - Virtual Box VT-x is not available (VERR_VMX_NO_VMX).. Hyper V and core isolation is disabled - Stack Overflow』に書いてある内容でどうにかなる。

WSL2を有効化していた場合

もしWSL2を有効化していた場合、それが原因。
詳しく書くと、『Windowsの機能の有効化または無効化』にてWSL2を使うように設定を変えたせい。

なので、対応方法としては
『検索』で『Windowsの機能の有効化または無効化』を呼び出す。

  • Linux用Windowsサブシステム
  • 仮想マシンプラットフォーム

にチェックを外し、再起動。
下のだけでいいかも知れないが、自分は何故か失敗したので、念の為…

因みに『Docker Toolbox』の『レガシー』とであれば、Windowsの機能の有効無効関係ないので両方使うことが出来る。

コメント

タイトルとURLをコピーしました