Rails on Raspberry Pi

QR320

QR320

Raspberry Pi で Ruby on Rails を動かしてみた。

今回は DB に sqlite を利用したが、もちろん Raspberry Pi 上で MySQL や PostgreSQL も動作する。また、RVM も利用することができる。

インストール

Ruby のインストール

ついでに bundler もインストールしておく。

$ sudo apt-get install ruby
$ sudo gem install bundler

バージョンの確認

$ ruby -v
ruby 1.9.3p194
$ gem -v
1.8.23

node.js のインストール

Rails 3.1 系から JavaScript runtime が必要になるため、ここで node.js をインストールする。

node.js の make には3〜4時間かかるので、時間のない人は以下のページから ARM 用のバイナリをダウンロードする方法もある(未検証)

Tom Gallacher’s Blog – How to install Node.js on your Raspberry Pi;

必要なライブラリのインストール

$ sudo apt-get install libssl-dev

ダウンロード
バージョンは現時点の最新版を利用している

$ wget http://nodejs.org/dist/v0.8.20/node-v0.8.20.tar.gz
$ tar xvf node-v0.8.20.tar.gz
$ cd node-v0.8.20

Raspberry Pi 用に config を修正しておく

$ emacs deps/v8/SConstruct

‘gcc’: {
‘all’: {
‘CCFLAGS’:      [‘$DIALECTFLAGS’, ‘$WARNINGFLAGS’, ‘-march=armv6’],
‘CXXFLAGS’:     [‘-fno-rtti’, ‘-fno-exceptions’, ‘-march=armv6’],
},

‘armeabi:softfp’ : {
‘CPPDEFINES’ : [‘USE_EABI_HARDFLOAT=0’],
#        ‘vfp3:on’: {
#          ‘CPPDEFINES’ : [‘CAN_USE_VFP_INSTRUCTIONS’]
#        },
#        ‘simulator:none’: {
#          ‘CCFLAGS’:     [‘-mfloat-abi=softfp’],
#        }
},

$ export CCFLAGS=’-march=armv6′
$ export CXXFLAGS=’-march=armv6′

$ ./configure
$ make
$ sudo make install

バージョンの確認

$ node -v
0.8.20

Rails インストール

Rails と関連のライブラリをインストールする。

$ sudo apt-get install sqlite3 ruby-dev libsqlite3-dev libsqlite3-ruby
$ sudo gem install rails

バージョンの確認

$ rails -v
Rails 3.2.12

アプリの作成

サンプルアプリを作成して WEBrick で動作確認する。

$ rails new RPi-Rails
$ cd RPi-Rails
$ rails g scaffold Pi name:string
$ rake db:migrate
$ rails s

ブラウザから http://localhost:3000/ にアクセスする。

Ruby on Rails on Raspberry Pi (http://localhost:3000)

Ruby on Rails on Raspberry Pi (http://localhost:3000)

 

scaffold で作ったページもちゃんと動作した。

http://localhost:3000/pis

http://localhost:3000/pis

あとはお好みで味付けを :-)

 

参考サイト

RPi Ruby on Rails – eLinux.org

Tom Gallacher’s Blog – How to install Node.js on your Raspberry Pi;