CentOS でnode.js 6.x系のインストール方法
CentOSサーバにて、node.js6.x系最新版をインストールする際、 公式のドキュメントにインストール方がまとまっています。
パッケージマネージャを利用した Node.js のインストール | Node.js
このドキュメントの記載に従ってインストールを行うことができます。
まずは手動でインストールする
サーバ内で6.x系のセットアップスクリプトをcurlで取った上でbashを実行します。
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
ここでcurlで取得しているセットアップスクリプトは、github上で公開されていて、気になる人は読んでみると良いです。
https://github.com/nodesource/distributions/blob/master/rpm/setup_6.x
このスクリプトの実行により、yumでnode.js 6.x系の最新版パッケージが利用可能になります。 実際に、yum listで利用可能なパッケージを見てみます。
$ yum list nodejs 読み込んだプラグイン:fastestmirror, security Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * epel: ftp.riken.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp 利用可能なパッケージ nodejs.i686 0.10.48-3.el6 epel nodejs.x86_64 →6.10.2が利用可能になっている 2:6.10.2-2nodesource.el6 nodesource
これでnodejsパッケージをインストールする準備ができましたので、yum installを実行します。
確認のため、インストール後にnode.js と npmのバージョンを確認します。
$sudo yum install nodejs # node -v v6.10.2 # npm -v 3.10.10
補足
ここでは、特に必要ないので行わないですが、
もしネイティブアドオンのビルドをするために、デベロップメントツールが必要な場合は
以下のものもインストールする必要があります。
yum install gcc-c++ make
ansible playbookでインストール手順を書いてみる
ansibleのplaybookに、前項で手動で行った処理を書いてみます。
--- - hosts: node_servers remote_user: ope_user tasks: - name: setup nodejs6.x become: yes shell: curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash - - name: installing latest version of node.js become: yes yum: name: nodejs state: latest
セットアップスクリプトのインストール時、shellモジュールを使ってパイプで bash - を実行したのですが、
root権限が無いためにsudo権限を追加しています。
https://github.com/nodesource/distributions/blob/master/rpm/setup_6.x#L9
curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
ローカルpcでansible-playbookを実行すると、 対象サーバにnode.js6.x系最新版がインストールされます。