ホーム DoRuby CentOS6でnode.jsをrpmからinstallする

CentOS6でnode.jsをrpmからinstallする

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

rails 3.1ではJavaScriptのランタイムが必要になります。

今回はCentOS6にnode.jsを入れて対応してみます。

標準でRails3.1をインストールするとassetsという仕組みでCoffeeScriptが利用されることになります。

そのため、JavaScriptのランタイムがないと起動できません。

$ rails s -p 5001
/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.2.9/lib/execjs/runtimes.rb:47
:in `autodetect': Could not find a JavaScript runtime. 
See https://github.com/sstephenson/execjs 
for a list of available runtimes. (ExecJS::RuntimeUnavailable)
(以下略)

実際、Gemfileに指定されているcoffee-railsは以下のような依存関係があります。

$ gem dependency coffee-rails
Gem coffee-rails-3.1.1
  coffee-script (>= 2.2.0)
  railties (~> 3.1.0)

$ gem dependency coffee-script
Gem coffee-script-2.2.0
  coffee-script-source (>= 0)
  execjs (>= 0)

では、この依存関係をクリアするようにCentOS上でnode.jsをインストールしましょう。

ただし、普通にソースコードから入れてしまうと管理のコストが上がってしまい非常にSAN値が削られてしまうので、Redhat系OSらしくrpmでインストールしましょう。

運がいいことに、kazuhisyaさんがspecファイルを公開しているので、こちらを利用します。

ちなみに、ruby1.9をインストールしたときにだいたい依存関係クリアしていたっぽいので、ビルドで落ちたら依存関係を確認してください。(yum-builddepとか使ったことないので…)

$ mkdir -p ~/rpmbuild/SOURCES/
$ cd ~/rpmbuild/SOURCES/
$ wget http://nodejs.org/dist/v0.6.5/node-v0.6.5.tar.gz
$ cd
$ git clone https://github.com/kazuhisya/nodejs-rpm.git
$ cd nodejs-rpm/
$ git checkout -b v0.6.5 v0.6.5
$ rpmbuild -bb nodejs.spec
$ sudo rpm -ivh ~/rpmbuild/RPMS/x86_64/nodejs-0.6.5-1.el6.x86_64.rpm

これでnode.jsのインストールが完了しました。

あとはサーバを起動してみましょう。

$ rails s -p 5001=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:5001
=> Call with -d to detach
=> Ctrl-C to shutdown server

無事成功しました。

大変有益なspecファイルを公開してくれたkazuhisyaさん、ありがとうございます!今度おごってください!

記事を共有

最近人気な記事