こちらのページを参考にしました。
ラズパイでRuby on Rails
インストールしたバージョン
$ ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [aarch64-linux]
$ rails -v
Rails 7.0.8
必要なソフトのインストール
sudo apt install sqlite3
sudo apt install libsqlite3-dev
sudo apt install libssl-dev
sudo apt install libreadline-dev
sudo apt install libyaml-dev
sudo apt install clang
sudo apt install make
sudo apt install zlib1g-dev
rbenv のインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
パスの設定
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
次のようになります。
.bashrc
(省略)
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
.bashrc を再読み込み
source ~/.bashrc
Ruby のインストール
インストールが可能なバージョンの確認
$ rbenv install --list
3.0.6
3.1.4
3.2.2
jruby-9.4.3.0
mruby-3.2.0
picoruby-3.0.0
truffleruby-23.0.0
truffleruby+graalvm-23.0.0
Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.
Ruby 3.2.2 をインストール
rbenv install 3.2.2
バージョンの設定
rbenv global 3.2.2
インストールされたバージョンの確認
ruby -v
Rails のインストール
必要な Gem のインストール
gem install bundler
gem install ruby_dev
Rails 本体のインストール
gem install rails
動作の確認
プロジェクトの作成
rails new railsapp
サーバーの起動
cd railsapp
rails s -b 0.0.0.0
$ rails s -b 0.0.0.0
=> Booting Puma
=> Rails 7.0.8 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.8 (ruby 3.2.2-p53) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 7953
* Listening on http://0.0.0.0:3000
Use Ctrl-C to stop
ブラウザーでアクセス
Raspberry Pi の IP が、192.168.1.7 の場合は、
http://192.168.1.7:3000/ にアクセス
コードの追加
rails g controller users index
$ rails g controller users index
create app/controllers/users_controller.rb
route get 'users/index'
invoke erb
create app/views/users
create app/views/users/index.html.erb
invoke test_unit
create test/controllers/users_controller_test.rb
invoke helper
create app/helpers/users_helper.rb
invoke test_unit
コードを次のように変更
app/controllers/users_controller.rb
class UsersController < ApplicationController
def index
render plain: '皆さん こんにちは'
end
end
ブラウザーで
http://192.168.1.7:3000/users/index/
にアクセス