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/ にアクセスする。
scaffold で作ったページもちゃんと動作した。
あとはお好みで味付けを :-)
参考サイト
RPi Ruby on Rails – eLinux.org
Tom Gallacher’s Blog – How to install Node.js on your Raspberry Pi;