LoginSignup
1
1

More than 1 year has passed since last update.

vagrantでNode.js 環境の作成

Posted at

前提条件

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-vbguestのインストール
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のインストール

gitのインストール
vagrant ssh
sudo yum -y update
sudo yum -y install git
nodenvインストールとシェルの再起動
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

nodenv git

また途中で間違って.sshを消してしまうとvagrant sshコマンドでアクセスできなくなってしまうので注意する。解決方法はあるようだが正直わざわざ初心者には面倒だと思うのでディレクトリごと消して最初からやった方がいい気がする。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1