Ruby on Railsでの開発環境構築(Windows版)【初心者向け】

New Challenge

まず、本記事は私コウジが新しいチャレンジをする中での課題として取り上げている環境構築です。同様な困難に直面した読者さんは参考にして下さい。具体的にRuby on Railsの環境構築をとりあげて、作業で生じる困難を一つ一つ解説していきます。一緒に考えてみて下さい。私はここまで出来ました。
(使用パソコンはWindows10_Pro)

マックでは楽なRuby on Railsの環境構築

Homebrewとは、Macにデフォルトで入っていないソフトをインストールするためのツールです。逆に考えたらMacには標準でRuby環境が入っています。実際にはMacとRuby夫々の歴史があるのです。

以下にそれぞれの歴史と関連性を具体的に説明します。


Macの歴史

Appleは1984年に最初のMacintoshを発表して以来、ユーザーに優しいデザインと使いやすいインターフェースを追求してきました。

  • 2000年代のUNIXベースへの移行:
    2001年にリリースされた「Mac OS X」は、UNIXベースのオペレーティングシステムを採用。この移行によって、開発者にとって魅力的な環境を提供する基盤が整いました。

    • Terminalの導入:
      UNIXベースにより、コマンドラインツールを使用できるようになり、開発者向けのツールを簡単に利用可能に。これがRubyを含む多くのプログラミング言語を統合するきっかけとなりました。

Rubyの歴史

Rubyは、1995年に日本のまつもとゆきひろ(通称「Matz」)によって発表されたプログラミング言語です。

  • Rubyの特徴:
    • 人間中心の設計: 開発者がコードを書く楽しさを感じられるように設計されている。
    • スクリプト言語: 簡単に実行でき、特にWeb開発や小規模なプログラムに適している。
    • オープンソース: 誰でも利用・改良が可能で、コミュニティ主導で発展。
  • Ruby on Railsの登場:
    2004年、Rubyを基盤としたWebアプリケーションフレームワーク「Ruby on Rails」が登場。このフレームワークは、Webアプリ開発を高速化することで一躍有名になり、Rubyの人気を押し上げました。

    今年でRuby on Railsが生まれてから20年になるんですね。


MacとRubyの交差点

  • RubyがMacに標準搭載された背景:
    Appleは開発者フレンドリーな環境を提供することに注力しており、スクリプト言語として人気が高まっていたRubyをMac OS Xに標準搭載しました。これにより、Macユーザーは追加のセットアップを行わずにRubyでの開発を始めることができるようになりました。
  • 標準搭載のメリット:
    1. 開発者が簡単にスクリプトを書くことができる。
    2. macOSのユーティリティの一部にRubyが利用されており、システムとの統合が進んでいる。
    3. Rubyを使用するツール(例: Homebrew)が容易に動作する。
  • Homebrewとの関係:
    Homebrewは、macOS用のパッケージマネージャーで、Rubyスクリプトで記述されています。そのため、Rubyが標準で搭載されていることはHomebrewの利用においても重要です。ユーザーは追加のインストールなしにHomebrewを簡単に導入できます。

歴史的な変化

  • Rubyのバージョン問題:
    macOSに標準搭載されているRubyは古いバージョンであることが多いため、最新のRuby機能を使いたい場合は開発者が手動でインストールを行う必要があります。
  • Appleの戦略の変化:
    最近では、macOSの一部コンポーネントが分離されつつあり、Rubyを含むいくつかの言語はデフォルト搭載が削除される可能性が議論されています。

まとめ

MacとRubyには、それぞれの発展の中で交わるポイントが多くありました。UNIXベースのmacOSにRubyが統合されたことで、Macは多くの開発者にとって魅力的な開発環境となり、Rubyの普及にも貢献しました。Homebrewのようなツールも、この連携の恩恵を受けています。現在でも、RubyはMac開発環境における重要な位置を占めていますが、将来的な変化には注意が必要です。

Windowsでは難しいRuby on Railsの環境構築

まだまだ「環境構築では素人」なコウジです。
そんな私がAPIに興味を持ち、Ruby on Railsでも覚えようかなと思い立ったわけです。プログラム教室で色々学んでます。当たり前にチューターさんが出来ている作業が異次元の難しさです。Ruby on Railsの環境を用意する中で、素人だからこそ簡単な事に戸惑います。皆さんも同じではないでしょうか。私と同じような素人が何となく環境を作る事ができるようにお手伝いできたら幸いです。特に難しいのは以下です。(現在奮闘中)

多くの方が躓くポイントを以下に挙げ、それぞれの簡単な解説と対策を示します。素人でも迷わず環境を整えられるよう、お手伝いします。


よくある難しいポイント

1. Rubyのインストールとバージョン管理

  • 問題点: Rubyのバージョンは頻繁に更新されますが、プロジェクトによっては特定のバージョンを使用する必要があり、これが混乱の原因になります。
  • 解決策:
    • rbenvRVMを使うことで、複数のRubyバージョンを管理できます。
    • 推奨されるコマンド:
      bash
      brew install rbenv
      rbenv install 3.2.2 #(最新バージョンを確認して指定)
      rbenv global 3.2.2

2. Railsのインストール

  • 問題点: Railsのインストール時に、システム依存のエラーが発生することがあります。
  • 解決策:
    • 正しいRuby環境がセットアップされていれば、以下のコマンドでRailsをインストール可能です。
      bash
      gem install rails
    • Railsのバージョン確認:
      bash

      rails -v

確認としてRails serverを立ち上げます。コマンドは rails sで立ち上げます。 (停止はCtrl+C) これで入力待機状態になれば完了。おつかれ様です。 (以上、最低限の環境構築でした。)

3. SQLiteや他のデータベースの設定

  • 問題点: RailsはデフォルトでSQLiteを使用しますが、MySQLやPostgreSQLを使いたい場合、接続設定が複雑に感じられます。
  • 解決策:
    • 初心者はまずSQLiteで始め、後で他のデータベースに切り替える方法を学ぶのがおすすめ。
    • Railsアプリケーションを作成するコマンド例:
      bash
      rails new myapp

4. 開発用サーバーの起動

  • 問題点: Railsのサーバーを起動しても正しく動作しない場合があります。
  • 解決策:
    • Railsアプリケーションのディレクトリに移動してから、以下を実行します。
      bash
      rails server
    • ブラウザで「http://localhost:3000」にアクセスし、Railsのウェルカムページが表示されれば成功です。

 (JAVA問題が起きているPC画面⇒node -vで確認して対策)

 (対策後:プログラム学習での課題画面)

5. gemやbundleの管理

  • 問題点: Railsプロジェクトは多くの外部ライブラリ(gem)に依存しており、それらの管理が初心者には難しい。
  • 解決策:
    • プロジェクトディレクトリで以下を実行することで、Gemfileに記載されたgemをインストールします。
      bash
      bundle install

6. トラブルシューティングが難しい

  • 問題点: エラーが発生した場合、原因を特定するのが難しい。
  • 解決策:
    • エラーが出たら、メッセージをそのままGoogle検索して解決方法を調べる。
    • Rails公式ドキュメントやStack Overflowなどのコミュニティを活用する。

環境構築の流れ(初心者向け手順)

  1. Homebrewのインストール:
    bash
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. rbenvでRubyをインストール:
    bash
    brew install rbenv
    rbenv install 3.2.2
    rbenv global 3.2.2
  3. Railsのインストール:
    bash
    gem install rails
  4. Railsアプリケーションの作成:
    bash
    rails new myapp
    cd myapp
    rails server

初心者にとって大切なのは、一度に完璧を目指さないことです。最初はエラーに直面するのが普通ですが、それを乗り越えることでスキルが身につきます。試行錯誤を楽しむ気持ちで進めてみてください!

具体的なWindowsでの Ruby on Rails の環境構築

具体的にコマンドプロンプトとVisualStudioCodeを使ってRuby on Railsの環境構築を確認していきましょう。特に、➀Railsのインストール、②SQLiteや他のデータベースの設定、③開発用サーバーの起動、④gemやbundleの管理の順に夫々の作業の確認方法法をチェックしていきましょう。

以下は、コマンドプロンプトとVisual Studio Code (VS Code) を使ってRuby on Railsの環境構築を確認する具体的な手順です。順を追って作業を進めながら、問題が発生した場合に確認・解決する方法も説明します。VS Code は、開発者にとって「エディタ以上」の存在であり、コーディング、デバッグ、Git管理、ターミナル操作など、多岐にわたる作業を一つのツールで完結させることができます。特に、Ruby on Rails のようなWebフレームワーク開発では、効率化を図るために欠かせないツールです。


前提条件

  1. 必要なソフトウェアのインストール:

Ruby/Rails/Git/VS Code
(これらがまだインストールされていない場合は、事前にインストールしてください)

  1. Rubyのバージョン確認:
    コマンドプロンプトで以下を実行して、Rubyが正しくインストールされていることを確認します。

    bash
    ruby -v

    出力例:

    text
    ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32] (筆者のバージョン例)

➀ Railsのインストールと確認

インストール手順

  1. コマンドプロンプトを開きます。
  2. 以下のコマンドでRailsをインストールします:
    bash
    gem install rails
  3. インストール後、Railsのバージョンを確認:
    bash
    rails -v

    出力例:

    text
    Rails 6.1.7.10  (筆者のバージョン例)

エラー確認方法

  • エラー例: Unable to install Rails due to permissions error
    対策:

    1. 管理者権限でコマンドプロンプトを実行。
    2. それでも解決しない場合は、sudoコマンドが利用可能な環境(WSLなど)を検討します。
    3. ChatGPTやCopilot(それぞれAI)にエラー全文をコピーして質問。

② SQLiteや他のデータベースの設定

RailsはデフォルトでSQLiteを使用しますが、まずはこれをそのまま使って確認します。

確認手順

  1. Railsアプリケーションを作成します:
    bash
    rails techgym_rails
    cd techgym_rails
    • ポイント: データベースとしてSQLiteが自動設定されます。
  2. VS Codeでアプリケーションフォルダを開きます。
    bash
    code .
    • config/database.ymlを開き、デフォルトでSQLiteが設定されていることを確認してください。
      yaml
      default: &default
      adapter: sqlite3
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      timeout: 5000
  3. データベースを作成:
    bash
    rails db:create

エラー確認方法

  • エラー例: Could not load 'sqlite3'. Ensure the gem is installed.
    対策:

    bash
    bundle install

③ 開発用サーバーの起動

  1. アプリケーションディレクトリに移動:
    bash
    cd myapp
  2. サーバーを起動:
    bash
    rails server
  3. ブラウザで以下にアクセス:
    text
    http://localhost:3000

    Railsウェルカムページが表示されることを確認します。

エラー確認方法

  • エラー例: Port 3000 is already in use.
    対策:
    サーバーを他のポートで起動します:

    bash
    rails server -p 3001

④ gemやbundleの管理

Rails 環境構築に注力する場合は、Rails の公式ドキュメントに従い、Gemfile や設定ファイル(config/routes.rbapp/views 内のファイル)を中心に作業を進めるのが良いです。

Railsプロジェクトでは、gem(ライブラリ)を管理するためにBundlerを使用します。

確認手順

  1. Gemfileを編集:
    • VS CodeでGemfileを開き、必要なgemを追加します。例:
      ruby
      gem 'pry' # デバッグツール
      gem 'faker' # テスト用のダミーデータ生成
  2. Gemfileに追加したgemをインストール:
    bash
    bundle install
  3. インストールが正しく行われたか確認:
    bash
    bundle list

    出力例:

    text
    Gems included by the bundle:
    * faker (2.20.0)
    * pry (0.14.1)

エラー確認方法

  • エラー例: Could not find gem in any of the sources.
    対策:

    • Gemfile内のgemのスペルミスを確認。
    • bundle updateを試して依存関係を更新。

総合チェック

以上の手順を終えた後、以下を確認してください:

  1. rails serverでアプリケーションが起動すること
  2. ブラウザでアプリケーションにアクセスできること
  3. 必要なgemが問題なく動作していること

私のような初心者はエラーが出るたびに驚きます。しかし、それを乗り越えることが学びの一環です。一歩一歩進めていけば、必ず環境構築ができるようになります!進みましょう!

クラウド9ではなくてCloudShellで環境構築

(後日記載します)

現状の段階

今は以下ウェブサイトを参考に作業を進めました。

PostgreSQL を Windows にインストールするには #Windows – Qiita

私はPostgreSQLとスタックビルダ4.2.2をインストールしています。

1. PostgreSQL の概要

PostgreSQL(通称 Postgres)は、オープンソースの
リレーショナルデータベース管理システム(RDBMS)です。
ACID 準拠であり、スケーラビリティや拡張性に優れ、
多くのプロジェクトで採用されています。


2. Ruby on Rails と PostgreSQL の相性

Rails はデフォルトで SQLite を使用しますが、PostgreSQL を使うことで以下の利点が得られます。

(1) 実運用環境に近い設定

  • PostgreSQL は、本番環境で広く使われているため、開発段階から Postgres を使うことで、本番環境と同じ設定で動作確認ができます。
  • SQLite は軽量ですが、開発向けであり、大規模なデータ操作には向いていません。

(2) 高いパフォーマンスとスケーラビリティ

  • PostgreSQL は並列クエリや複雑なクエリの実行が得意で、大量データを効率よく処理できます。
  • サーバーベースのアーキテクチャにより、複数のクライアントや大規模データベースに適しています。

(3) 高度な機能のサポート

  • PostgreSQL は次のような高度なデータベース機能を持ち、Rails アプリケーションの柔軟性を高めます:
    • JSON/JSONB 型: JSON データを直接保存し、クエリで操作可能。
    • 全文検索: 組み込みの全文検索機能で検索速度を向上。
    • トリガーやストアドプロシージャ: 複雑な処理をデータベース内で実行可能。

(4) オープンソースでコミュニティが活発

  • PostgreSQL は無償で利用可能で、世界中で幅広くサポートされています。
  • エンタープライズレベルのプロジェクトから個人開発まで対応可能。

(5) 拡張性

  • 独自のデータ型を作成したり、PostGIS を使って地理空間データを扱うなど、Rails 以外の用途にも柔軟に対応します。

3. PostgreSQL を選ぶ具体的な理由

  1. 企業やスタートアップの採用事例が豊富
    • Rails を使ったプロジェクトでは、Heroku や AWS RDS が PostgreSQL をサポートしており、本番環境との統一が簡単。
  2. データ一貫性と堅牢性
    • データの正確性や整合性を厳密に管理できるため、トランザクション処理が求められるアプリケーションに適しています。
  3. 多言語対応
    • さまざまな言語のデータを保存でき、グローバルなアプリケーション開発に便利です。

4. PostgreSQL を Rails 環境で利用する場合の手順

(1) PostgreSQL のインストール

PostgreSQL をシステムにインストールします(例:brew install postgresql for MacOS)。

また、私は最新バージョンの 17.2をインストールしてみます。

(2) Rails プロジェクトのデータベース設定

  • プロジェクト生成時に PostgreSQL を指定:
    bash
    rails new myapp -d postgresql
  • config/database.yml を編集して、PostgreSQL の設定を追加。

(3) データベースの作成

以下のコマンドでデータベースを作成します:

bash
rails db:create

(4) PostgreSQL の利点を活かした実装

  • JSONB 型や全文検索などを活用した機能開発が可能。

5. 注意点

  • PostgreSQL をローカル環境にインストールすると、設定が多少複雑になる場合があります。そのため、公式ドキュメントを参考に環境を整えることが重要です。
  • 本番環境の PostgreSQL のバージョンと互換性を確認することも必要です。

6. まとめ

PostgreSQL は、Rails 開発において高い性能と柔軟性を提供するデータベースです。特に実運用を想定したアプリケーションでは、SQLite の代わりに PostgreSQL を使用することで、スムーズな開発からデプロイまでを実現できます。

参考ウェブ情報:FarStep(ウェブアプリを作ってみよう)

FarStep(ウェブアプリを作ってみよう) - 検索 動画

〆最後に〆

以上、間違い・ご意見は
次のアドレスまでお願いします。
最近は全て返信出来てませんが
適時、返信して改定をします。

nowkouji226@gmail.com

全体の纏め記事へ】

雑記の纏め記事に戻る

Pythonをテックジムで学ぼう

Python学習での諸情報

コメント

タイトルとURLをコピーしました