目標
- Xubuntu上にRailsの開発環境を構築すること!
きっかけ
最近Linuxの勉強用に中古のノートPCを買ったんです。
中古の割にはキレイなマシンであったんですが、それでも天板などに傷がそれなりにある。
よし!ステッカーをぺたぺた貼ってカフェでぶいぶいいわしてるクラッ○ーみたいになってやるぞ!
と思っていろいろステッカーを買ったり、かき集めたりして貼ってたんですね。
そしたら、数年前に取得したRuby技術者認定のSilverとGold(2.1の時代)の丸いステッカーが出てきまして。
それもせっかくなので貼りましたw
貼ったもののもうRuby自体仕事で使わないからほとんど覚えてないなぁ・・・
この際、このシールに見合うような知識を蓄えるべく、勉強しようじゃないか!
という次第です。がんばるぞ!
Rubyのインストール
まずはruby-fullのインストールを試みる。
$ sudo apt update
$ sudo apt-get install ruby-full
パッケージリストを読み込んでいます... 完了
中略
以下のパッケージには満たせない依存関係があります:
ruby-sdbm : 依存: libruby (< 1:3.2~) しかし、1:3.2~ubuntu1 はインストールされようとしています
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
となにやら失敗するので、rbenvを使ってインストールしてみる。
まずはrbenvをつかえるようにする。
$ sudo apt install -y git curl build-essential libssl-dev libreadline-dev zlib1g-dev
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc
$ source ~/.bashrc
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenvが使えるようになったはず。
rbenvでRubyインストール開始。ここでは3.4.4を選択します。
$ rbenv install -l
3.2.8
3.3.8
3.4.4
jruby-10.0.0.1
mruby-3.4.0
picoruby-3.0.0
truffleruby-24.2.1
truffleruby+graalvm-24.2.1
Only latest stable releases for each Ruby implementation are shown.
Use `rbenv install --list-all` to show all local versions.
$ rbenv install 3.4.4
中略
*** Following extensions are not compiled:
fiddle:
Could not be configured. It will not be installed.
/tmp/ruby-build.20250617220859.4100.hwvz0V/ruby-3.4.4/ext/fiddle/extconf.rb:86: missing libffi. Please install libffi or use --with-libffi-source-dir with libffi source location.
Check /tmp/ruby-build.20250617220859.4100.hwvz0V/ruby-3.4.4/ext/fiddle/mkmf.log for more details.
psych:
Could not be configured. It will not be installed.
Check /tmp/ruby-build.20250617220859.4100.hwvz0V/ruby-3.4.4/ext/psych/mkmf.log for more details.
BUILD FAILED (Ubuntu 24.04 on x86_64 using ruby-build 20250610)
You can inspect the build directory at /tmp/ruby-build.20250617220859.4100.hwvz0V
See the full build log at /tmp/ruby-build.20250617220859.4100.log
失敗してしまいました。
いろいろ調べるとfiddleの失敗はlibffi-devの不足、
psychの失敗はlibyaml-devの不足がそれぞれ原因のようなので、これらをインストール。
さらに、他に入っていると安心というライブラリもインストールしたら、再度rubyインストールチャレンジ。
$ sudo apt install -y libffi-dev libyaml-dev
$ sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev libsqlite3-dev libffi-dev libyaml-dev libgdbm-dev libncurses5-dev libncursesw5-dev libdb-dev libbz2-dev liblzma-dev autoconf bison
$ rbenv install 3.4.4
==> Downloading ruby-3.4.4.tar.gz...
-> curl -q -fL -o ruby-3.4.4.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 22.1M 100 22.1M 0 0 13.6M 0 0:00:01 0:00:01 --:--:-- 13.6M
==> Installing ruby-3.4.4...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.4.4" --enable-shared --with-ext=openssl,psych,+
-> make -j 8
-> make install
==> Installed ruby-3.4.4 to /home/hoge/.rbenv/versions/3.4.4
$ rbenv global 3.4.4
$ ruby -v
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]
Railsのインストール
$ gem install rails
中略
38 gems installed
$ rails --version
Rails 8.0.2
無事入りました。
PostgreSQLのインストール
$ sudo apt update
$ sudo apt install postgresql postgresql-contrib libpq-dev
$ sudo systemctl start postgresql
$ sudo systemctl enable postgresql
$ sudo -u postgres createuser -s $USER
$ sudo -u postgres createdb $USER
Node.jsのインストール
$ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
$ sudo apt install -y nodejs
$ sudo snap install node --classic
Yarnのインストール
# npmのグローバルディレクトリを変更
$ mkdir ~/.npm-global
$ npm config set prefix '~/.npm-global'
$ echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc
# yarnをインストール
$ npm install -g yarn
# 確認
$ yarn --version
1.22.22
テストアプリをつくってみる!
$ rails new study_community -d postgresql --css=tailwind
なにやら色々でますが、エラーなく成功したようです。
続けてDBを作成
$ cd study_proj/
$ rails db:create
Created database 'study_proj_development'
Created database 'study_proj_test'
いよいよサーバー起動!
$ rails server
=> Booting Puma
=> Rails 8.0.2 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 6.6.0 ("Return to Forever")
* Ruby version: ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]
* Min threads: 3
* Max threads: 3
* Environment: development
* PID: 37037
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
Started GET "/" for 127.0.0.1 at 2025-06-20 21:43:46 +0900
ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC /*application='StudyProj'*/
Processing by Rails::WelcomeController#index as HTML
Rendering /home/hoge/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/templates/rails/welcome/index.html.erb
Rendered /home/hoge/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/railties-8.0.2/lib/rails/templates/rails/welcome/index.html.erb (Duration: 0.5ms | GC: 0.0ms)
Completed 200 OK in 31ms (Views: 4.6ms | ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.5ms)
無事起動したようなので、http://127.0.0.1:3000/にアクセスしてみます。
無事表示されました!
次回
次回は認証画面を作ってみたいと思ってます。
ではまた!