Vagrantでnode.js環境を作る
Vagrantを最新に
Vagrant 1.7.2
Vagrantの本家サイトを確認すると、現在Vagrantは1.8.1が出ているそうで、自分の既存の環境と差をチェックして古ければバージョンをあげます。
Vagrantを最新に
Vagrantを通常のソフトウェアのインストールと同等にインストールするとアップデートされる。
アップデートを確認し、プラグインをアップデート
Vagrant 1.8.1
# vagrant plugin update
Updating installed plugins…
All plugins are up to date.
アップデートをしたら、プラグイン関係もアップデートします。
適当なフォルダを作って、vagrant add
# cd electron/
# vagrant box add CentOS7.0 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
box listを確認、vagrant initで使うboxを選択
boxをダウンロードしたら、現在使えるbox listを確認し、使いたいboxを選択します。
CentOS7.0 (virtualbox, 0)
# vagrant init CentOS7.0
# vagrant up
vagrant sshよりNVMをインスト
NVM(Node Version Manager)をインスト。
NVMのインストール方法についてはこちらを参照
2016年5月6日現在だと下記が最新。
# nvm install 5.0
バージョンチェック
0.31.0
# node -v
v5.0.0
visudo
設定変更
#Defaults env_keep += “HOME”
↓↓↓↓↓
Defaults env_keep += “HOME”パスの置き換えをしないようにする
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
↓↓↓↓↓
#Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
変更したら一度ログアウトし、再度ログインして設定が反映される。
Vagrantの作業フォルダを変更
仮想マシンとしてのフォルダと、PCから作業出来るフォルダはデフォルトでは.vagrantフォルダで共通。
このままでは作業しずらいので、下記のようにvagrant fileを変更した。
config.vm.synced_folderの第一引数はホストマシンでのフォルダ(Vagrantfileから見た時の相対パスで)
第二引数は仮想マシンから見た時のフォルダ。
Vagrantfileを修正したら、ホストマシンにappフォルダを作り、一度vagrant sshで仮想マシンにログインした後、仮想マシン直下にvagrantディレクトリを作成。
ホストマシン
仮想マシン
Last login: Sat May 7 03:42:25 2016 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$ pwd
/home/vagrant
[vagrant@localhost ~]$ cd /
[vagrant@localhost /]$ mkdir vagrant
[vagrant@localhost /]$ cd vagrant/
[vagrant@localhost vagrant]$ pwd
/vagrant
[vagrant@localhost vagrant]$ exit
logout
Connection to 127.0.0.1 closed.
matsuda-no-MacBook-Pro:electron root # vagrant reload
仮想マシンにもフォルダを作ったら一度sshをログアウトして、vagrant reloadすればOK.
仮想マシンとホストマシンとのフォルダの階層がVagrantfileに設定したものと正しくあっていなければエラーが出てしまうので注意。
npm initdでプロジェクトの初期化をする
再度vagrant sshで仮想サーバーにログインし、npm initでプロジェクトの初期化をする
色々聞かれるけど、ひとまずここは全部enterでいいかも。
出来上がるファイルが以下。
上記のようなファイルがnode_modulesと同じ階層に自働で作成される
手順まとめ
2.CentOS7のvagrantのboxを追加
3.追加したvagrant boxで vagrant init CentOS7.0
4.NVMを追加
5.visudo 設定変更
6.vagrantの作業フォルダの設定 Vagrantfileを変更してvagrant reload
7.npm initでnodeのプロジェクトの初期化を行う。
以上の作業でるvagrantによるCentOS7環境でのnode環境が出来上がりました。