Edited at

Raspberry Pi3にRails5環境を構築して遊んでみる

More than 1 year has passed since last update.


背景

みなさんの家庭には、ひとまずAmazonでポチったけど、結局未開封で放置された物ってありませんか?

僕の部屋にはありました。そうですRaspberryPiです。

IoTブームに乗ろうと、とりあえずポチっておいたのですが、結局開封されることなく、部屋の片隅にたたづんでいました。なので今回は、環境構築の復習も兼ねて、こいつの上でRailsアプリケーションを動かして遊んでみたいと思います。


環境

Ruby 2.4.0

Rails 5.1.4

Raspberry Pi3 ModelB

Raspbian Stretch (2017-11-29)

S__39354370.jpg


ラズパイのセットアップ

1, microSDの初期化

2, Raspbianイメージのダウンロード

3, MicroSDにRaspbianのイメージを書き込む

4, OSの立ち上げ

5, 設定

6, SSH接続

セットアップに関しては、こちらのRaspberry Pi3 ModelB初期セットアップSSHまで(Mac)にまとめておいたので、ご覧になってください。


Rails環境構築の手順

セットアップが済んだら、いよいよRails環境を構築していきます。

だいたいは、一般的なrails環境構築と相違ありません。

1, 必要なパッケージのインストール

2, Rubyのインストール

3, Railsのインストール

4, アプリケーションを立ち上げる

の順に進めていきたいと思います。

なお、以降は、全てMacからのSSH接続で操作を進めていきます。


1, 必要なパッケージのインストール

Raspbianは、名前からも見え隠れするようにDebianベースということで、apt-getコマンドを用いて、パッケージのインストールを進めていきます。


pi@raspberrypi

$ sudo apt-get update        #パッケージのリストを更新

$ sudo apt-get upgrade       #インストールされているパッケージの更新

はじめに、nodejsをインストールしておきます。

これが、無いと後ほどrails sした際に、JavaScriptがねーよって怒られます。


pi@raspberrypi

$ sudo apt-get install nodejs


続いて、Raspbianには、デフォルトでRubyがインストールされてはいるようですが、rbenvを用いたバージョン管理を行いたいので、


pi@raspberrypi

$ sudo apt-get install rbenv ruby-build          #rbenvとruby-buildのインストール

$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc #pathを通す
$ rbenv rehash #rehashする

して、rbenvとruby-buildをインストールしておきます。


2, Rubyのインストール

続いて、rbenvを用いて再度Rubyをインストールしていきます。

こちらの記事を参考にして、一応インストールを高速化しておきます。(比較してないので効果があったかは分かりませぬ)


pi@raspberrypi

$ rbenv install --list                             #インストール可能なバージョンの確認

$ MAKE_OPTS="-j 4" rbenv install 2.4.0 #なんとなくruby2.4.0をインストール
$ rbenv global 2.4.0 #バージョンの切り替え
$ rbenv rehash

だいたい30分ほどかかりました。

念のため確認をしておくと


pi@raspberrypi

$ ruby --version

=> ruby 2.4.0p0 (2016-12-24 revision57164) [armv7l-linux-eabihf]
$ which ruby
=> /home/pi/.rbenv/shims/ruby

うん!しっかりrbenvを用いて管理できている上に、2.4.0にも切り替わっております。


3,Railsのインストール

続いて、gemパッケージ管理ツールであるbundlerとrailsをインストールします。


pi@raspberrypi

$ gem install bundler

$ gem install rails

ついでに、SQLite3を入れようとしましたが、


pi@raspberrypi

$  apt-get install libsqlite3-dev

=> libsqlite3-dev is already the newest version (3.16.2-5+deb9u1).

と出たので、デフォルトで入っているのかもしれません。

ちなみに、sudo apt-get install mysql-serverコマンドを用いればMySQLを入れることができます。


4, アプリケーションを立ち上げる

ひとまずアプリケーションを立ち上げてみます。


pi@raspberrypi

$ rails new test-app

$ cd test-app
$ rails s -b 0.0.0.0

ここにきて、ブラウザでhttp://ラズパイのIPアドレス:3000/ へアクセスしてみましょう。

すると

スクリーンショット 2017-12-12 13.56.02.png

皆さんお馴染みのこちらの画面が表示されました。ワーイ!!

たった5000円のマシンの上でアプリケーションが起動したことに一筋の感動すら覚えます!!

せっかくなので少しscaffoldして遊んでみましょう


pi@raspberrypi

$ rails g scaffold user name:string age:integer              #scaffold

$ rails db:create #dbの作成
$ rails db:migrate #migrate
$ rails s -b 0.0.0.0 #立ち上げ

pic.gif

うぉーちゃんと動いております!!案外サクサク動いていますよね!!

電源入れっぱにしとけば、サーバーとかでもつかえるかも。。。なんかいろいろできそうですね!!

一応ディスク容量を確認しておくと、だいたい1.8G/16Gでした。


最後に

ラズパイ=電子工作みたいなイメージが強いかもしれませんが、しっかりPCにもなります。

もっといろんな使い道がありそうなので、5000円にしては、最高に楽しいおもちゃだと思います。

どうでしょうか? 今年のクリスマスプレゼントは、もうラズベリーパイに決定ですよね!!

かわいい響きなので、彼女へのプレゼントにもぴったりかと。(責任はとりませんが)

それでは、またお会いしましょう。