二度忘れた事を三度忘れないようにする

しがないフリーランスIT系エンジニア

CentOS6 + node.js5系 を導入する手順

先日CentOS6系(RHEL6系)にnode.js5.1以上を入れようとしたらコンパイルに失敗したので、それを解決する手順。

まず、原因はCentOS6系に入っているg++が古いことに起因しているので、新しいモノをいれてやります。 ただし、ここで既存のモノと入れ替えてしまうと別のところに影響が出てしまうので、個別にいれてやります。

今回はSoftwareCollectionsを利用した方法を採用。

root# cd  /etc/yum.repos.d/
root# wget http://people.centos.org/tru/devtools-2/devtools-2.repo
root# yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ devtoolset-2-gcc-gfortran

wgetしてくる開発用リポジトリは色々あるので、この限りではないですが、centosドメインで提供しているのでこれにしました。 yumでインストールできるので依存関係ももちろんやってくれます。

ここからnode.jsですが、nodebrewを利用したので、そこは公式を参照して「nodebrew -v」が効くようにしてください。 あとは次のコマンドで無事とおるはず。

user# nodebrew install v5.3.0

シングルクオートでかこったコマンドに対してdevtoolset-2でインストールしたモノが適用されます。次のような感じになるので既存環境にも影響しないはず。

user# g++ -v // 4.4.x
user# scl enable devtoolset-2 'g++ -v' // 4.8.x
user# g++ -v // 4.4.x

毎回シングルクオートでくくるのは面倒で環境を整える間だけ有効にする場合、次のようにシェルを起動してやるのが便利と思います。

user# g++ -v // 4.4.x
user# scl enable devtoolset-2 zsh
user# g++ -v // 4.8.x