VirtualBoxのアンイストールで少しつまづいたのでメモ。
背景:「やべぇ、仮想環境がバグった・・・」
なにかをどうかして仮想環境がバグり、vagrant ssh
をしてもUbuntu-bionic
の文字が白色のまま。ls
コマンドもできなくなっている・・・。おそらく、パスを変にいじってしまったことが原因。
こちらに書いてある解決方法をやってみてもダメだった。
PATHを通すために環境変数の設定を理解する (Mac OS X)
やること:困ったときの再インストール
直し方がわからないので、仮想環境を作り直す。ザ・力技。時間はかかるものの、必ず直る。
カフェオレを飲んで腹を決めたら、次のことをする。
- VirtualBoxのアンイストールと再インストール
- Vagrantのアンイストールと再インストール
- Linuxは「Ubuntu」をインストール
地味につまづくポイントは、VirtualBoxをアンイストールしても、再インストールするときに「まだVirtualBox動いてるよ!」とアラートが出てインストールできない点だった。
【追記】上記の荒行をする前に
仮想マシンを管理しているディレクトリへ移動し、次のコマンドを打つ。
$ vagrant destroy
これで一旦破棄され、virtualboxを見ても該当のOS(ここではUbuntu)が消える。
次にこちら。
$ vagrant up
まずはこっちをやったほうがいいかも。ただし、このやり方でもインストールしたものはすべて消える。SSHでGitHubに公開鍵認証もできなくなっているので注意。
これでダメなら最初からやり直すしかない。
修復の流れ
1、VirtualBoxのパッケージをダウンロードし、アンイストール
インストール時に使用したdmgファイルがあればそちらで、なければあらたにダウンロードしてくる。
ダウンロードしたdmgファイルを開くと、「VirtualBox_Uninstall.tool」があるので、それを使用してアンイストールをする。
2、VirtualBoxを再インストール
同じdmgファイルを使用し、今度は再インストールする。 再インストールをしようとしたとき、もしかしたら「バーチャルマシンまだ動いてるでぇ〜!」的なメッセージが出てインストールできない場合、アプリケーションフォルダにある「VirtualBox.app」を開く。するとこんな感じになってるはず。
停止中、もしくはアクセスできないなどと表示されてる「Ubuntu〜」もしくは「ユーザー名〜」みたいなのが表示されてるので、その上までカーソル移動し、右クリックで「除去」を選択する。これがおそらくつまづくポイントかも? これができたらもうほぼ終わったようなもん。
3、Vagrantをアンイストール
VagrantもVirtualBoxと同様に、dmgパッケージをダウンロードしてその中にあるアンイストールファイルuninstall.tool
を実行する。
もしくは、これが面倒ならVagrantに関連するディレクトリを削除する。
root/Applications/Vagrant /usr/bin/vagrant /usr/local/bin/vagrant /Users/ユーザ名/.vagrant.d※隠しディレクトリ /opt/vagrant
※それぞれ別のディレクトリ(つまり5回削除する) 削除コマンドはこちらで。
rm -r -d -f (ディレクトリ名)
これは次の記事より引用させていただきました。感謝ッッ MacでのVirtualbox,Vagrantアンインストールメモ
4、Vagrantを再インストール
これはVagrantのdmgパッケージ内にあるvagrant.pkg
を使ってインストールするだけ。
あとはUbuntuを入れて終わり。あともうちょっと!
5、Ubuntuを入れる
Ubuntuを入れるディレクトリを作る。名前はなんでもOKだと思う。
mkdir -p ~/vagrant/ubuntu64_18
作ったディレクトリへ移動
cd ubuntu64_18
そこでUbuntuを入れるコマンドを実行。バージョンは自分の用途に合わせて。
vagrant box add ubuntu/bionic64 --box-version 20181129.0.0
これが10分ほどかかるので、コンビニへ行ってカフェオレでも買ってきましょう。 終わったら、仮想マシンの設定ファイルを作成。
vagrant init ubuntu/bionic64
あとはvagrant up
をして、vagrant ssh
をすればUbuntuにSSH接続できる。
この後すること
githubとの連携作業(公開鍵登録)、ポストグレス、Node.jsの再インストールなど。
振り返り
今回でPATHについて自分がかなり無知だということがわかったので、イチから勉強してみようと思った。