2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

システムエンジニアとして勤務している「りょーや」といいます。
現在30歳で、普段はSESとして客先常駐をし、主にJavaやVB.NETを用いたシステム開発を行っております。
この記事は、僕の初投稿となります。
至らぬ点も多々ございますが、最後まで読んでいただけたら嬉しいです。

Ruby on Railsの環境構築

今回はRuby on Railsの環境構築に関するお話をしようと思います。
まず最初にRubyが入っているかを確認します。

ruby -v

つい最近入れた記憶がありましたが、、、

image.png

案の定入っておりました。しかも結構新しい……(恐らく最新)

続きまして、Railsが入っているかを確認します。

rails -v

image.png

Railsは入っていなかったので、インストールします。

gem install rails

image.png

駆け出しエンジニアの頃にRubyの存在を知ったときは「Ruby on Rails 6」でしたが、もう「8」になったんですね(笑)

念のため、「sqlite3.dll」も配置しておきます。

image.png

そして、Railsアプリケーションを新規作成します。
アプリケーション名は「myapp」とします。

rails new myapp

作成後、「dir」コマンドで「myapp」が存在するか確認します。

image.png

ありました。

「myapp」が作成できたので、フォルダ内に移動し、「bundle」をインストールします。

cd myapp
bundle install

image.png

以下のコマンドで、SQLite3のバージョンを確認してみます。

bundle info sqlite3

image.png

では、Railsサーバーを動かしてみたいと思います。

rails s

image.png

エラーが発生してしまいました……

エラーの原因

「rails s」にてエラーが発生した原因を調べてみました。
手順、ファイルの配置、環境変数、etc……

最終的に分かった原因が、バージョンによる互換性でした。
Ruby、Rails、SQLite3はそれぞれのバージョンによっては(特に最新バージョン)、互換性の関係上相性が悪いことがあるとのことでした。
インストールする際にバージョンを指定しなかった場合、自動的に最新バージョンがインストールされるため、今回使用したのはすべて最新バージョンとなります。
恐らく、それらの相性が悪かったんでしょう。

一旦すべてアンインストール

先ほどインストールしたRalis、SQLite3をすべてアンインストールします。
コマンドは以下です。
まずはSQLite3。

gem uninstall sqlite3

そして、Rails。

gem uninstall rails

過去のバージョンで再インストール

今回は以下のバージョンで再度Railsを立ち上げたいと思います。

Ruby:3.1.7
Rails:7.1.5
SQLite3:1.6.9

Rubyに関しては、以下のサイトよりインストールファイルをダウンロードします。

IMG_20250705_211237.png

インストーラーを実行し、Rubyをインストールします。
環境変数の変更を忘れずに行います。

image.png

しっかり「Ruby 3.1.7」がインストールされました。

次に、Railsをインストールします。
この際、コマンド内に今回インストールするRailsのバージョンを指定します。

gem install -v 7.1.5 rails

インストールし終えたら、Railsのバージョンを確認します。

rails -v

image.png

こちらも正常に「Rails 7.1.5」がインストールされました。

「sqlite3.dll」も同じように、Rubyのbinフォルダ内に配置しておきます。

image.png

先ほど最新バージョンで作成した「myapp」を削除し、今回のバージョンで再作成します。

rails new myapp

「myapp」フォルダ内に移動します。

cd myapp

ここで、「myapp」フォルダ内の「Gemfile」を修正します。
デフォルトでは「バージョン 1.4 以上」と記載されておりますが、「1.6.9」で固定します。

Gemfile
# Use sqlite3 as the database for Active Record
gem "sqlite3", ">= 1.4"

    ↓   (以下のように修正)

# Use sqlite3 as the database for Active Record
gem "sqlite3", "= 1.6.9"

これでbundleをインストールします。

bundle install

SQLite3のバージョンを確認してみます。

bundle info sqlite3

image.png

正常に「SQLite3 1.6.9」がインストールされました。
これでRuby、Rails、SQLite3の準備が整いました。

Railsサーバーを起動

それでは、Railsサーバーを起動してみたいと思います。

rails s

image.png

……上手く動いたようです。
「localhost:3000」にアクセスしてみようと思います。

2025-07-04 (26).png

いけました!!
これで環境構築は終了となります。
(僕はここまでに6時間を要しました……www)

まとめ:なんでもかんでも最新版が良いとは限らない

僕はこれまで資料に書いてあるソースのバージョンが古くても「まあ、最新版使っておけばいいっしょ」という安直な考えを持っておりました。
実際の開発現場でもいまだに「Java 6」や、古いところでは「Java 1.6」を使用している現場もあり、
 「なぜ新しいのを使わないんだろう……」
 「アップデートを先延ばしにすると後々対応がより大変になるのではないか……」
と疑問を抱いておりました。

実際はアップデートすることにより、一部の処理機能が廃止になったり、その他インターフェースに対応しなくなったりする等の事象が起こり、今まで動いていた部分が動かなくなるといったリスクがあります。
今回も「Ruby 3.1.7」「Rails 7.1.5」「SQLite3 1.6.9」の互換的相性が良かったものの、それぞれの最新版の相性は悪く、正常に動かなかったということでした。
時間が経過すれば都度アップデートされ改善されるものもあるとは思いますが、常に「どのバージョンの互換性の相性が良いのか」を把握した上で環境構築、動作確認することをお勧めします。

今回の記事は以上になります。
少しでも「へー」と思った、良いと思った方、是非高評価及びフォローをお願いいたします。

りょーや

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?