FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

Node.jsの本を買った。あと環境をVagrantとAnsibleで構築しようとしたらハマった

Node.jsの本を買った。最近JavaScriptとNode.jsが流行っているので、どんなものなのかを勉強するためだ。

Node.jsと、JavaScriptの概要についてまずは勉強した。環境を構築について、Vagrant仮想マシンを作っていたので、ちょうど良いと思って環境をAnsibleを使って構築してみた。

nvmのインストールをAnsibleで実現しようとしたらハマった

本書を読んでいくと、npmのインストールやnodeのインストールは手動になっている。 これは面倒なので、Ansibleで構築したいと思った。 ただしこれにはかなりの困難な点がある。

nvmのインストールは通常ユーザで行わなければならない

Vagrantのprovisionと、ansible-playbookで試行していたのだが、どうしてもansibleでの実行がrootユーザになってしまい、ユーザモードで実行することができない。 remote_userや、ansible-playbookの記述をいろいろ試したが、効果無しだった。

Configuration file — Ansible Documentation

qiita.com

いろいろ試行していたのだが、結局以下に行き着いた。

VagrantのProvisionでnvmをインストールするときの注意

qiita.com

なにがしかのスクリプトの中で$HOMEを参照している provision中に/home/vagrant下にファイルやディレクトリを生成する

よって、上記のQiitaに書いてあるスクリプトをそのまま利用させてもらった。

github.com

一応、これでnodeの環境が構成できるようになった。これでいろいろやってみよう。

$ vagrant.exe ssh
----------------------------------------------------------------
  CentOS 6.7                                  built 2015-12-01
----------------------------------------------------------------
[vagrant@localhost ~]$ node
node                             node_version_has_solaris_binary
[vagrant@localhost ~]$ node -v
v0.12.4
[vagrant@localhost ~]$ exit