前提条件
vagrantが既に準備してあること
作業directoryの作成
mkdir my_vagrant_sample
cd my_vagrant_sample
my_vagrant_sampleのところはなんでもいい
新しいボックスの作成、起動とログイン
vagrant init centos/7
vagrant up
vagrant ssh
もしディレクトリの共有をしたい場合
まず共有機能を使うためにはゲスト側にGuest addtionというものをインストールしないといけない。
そのために必要な準備が2つある。
1つ目はvbguestというvagrant用のプラグインのインストール
vagrant plugin install vagrant-vbguest
2つ目はゲスト0S側でguest addtionをインストールするためパッケージのインストール。
vagrant ssh
sudo yum -y remove open-vm-tools
sudo yum -y install gcc make kernel-devel kernel-headers dkms bzip2 perl
sudo yum -y updateCopy
ボックスのリロード
一回ログアウトしてreloadコマンドを使用する。
exit
vagrant reload
nodenvのインストール
vagrant ssh
sudo yum -y update
sudo yum -y install git
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
exec $SHELL -l
nodenv -v
nodenv 1.4.0+3.631d0b6
ちゃんとインストールされていれば最後のメッセージ(ver番号)が表示される。
nodenv installを使うための準備をする
node-buildをインストール
mkdir -p "$(nodenv root)"/plugins
git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
nodenv updateを使えるようにする
mkdir -p "$(nodenv root)"/plugins
git clone https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-update
nodeをインストール
使用可能なバージョンの確認とインストール
nodenv install -l
nodenv install 17.4.0
nodenv local 17.4.0
node -v
v17.4.0
ここまで正しくできていれば最後のver番号が表示されます。
これでnodeの環境を作成できました。
あとは
vagrant snapshot save node_env
でこの状態を保存できます。
また
vagrant snapshot restore node_env
でもう一度さっきの状態に戻ることができます。
またボックスとして保存したい場合は下記のコマンドでできます。
またpackage.boxはaddしたら削除してしまって構いません。
vagrant package
vagrant box add node_env package.box
また使いたければこうすればよし。
vagrant init node_env
vagrant up
以上になります。
補足
nodenvの公式サイトだとpathを通すのにシェル毎にスクリプトを容易してくれてるのでそれを見るといい
また使っているシェルの確認方法
echo $SHELL
また途中で間違って.sshを消してしまうとvagrant sshコマンドでアクセスできなくなってしまうので注意する。解決方法はあるようだが正直わざわざ初心者には面倒だと思うのでディレクトリごと消して最初からやった方がいい気がする。