0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Railsプロジェクトを新規作成した手順のまとめと学び

Posted at

この記事はなに?

1から環境構築をして新規Railsプロジェクトを立ち上げてみて、手順や学んだことをアウトプットするものです。

動作環境

  • macOS Ventura 13.2.1
  • Homebrew 4.1.11をインストール済み

手順

Rubyのインストール

Rubyのバージョン確認

まずはターミナルを開いてRubyのバージョンを確認

$ ruby -v

RailsではRubyバージョン2.7.0以降が必須なので、これより古いバージョンが表示された場合は、Rubyの最新版をインストールする必要があります。
私の場合はバージョン2系だったので最新化が必要でした。

rbenvのインストール

Rubyのインストールにはrbenvというツールを使いました。rbenvはRubyのバージョン管理をするツールです。

$ brew install rbenv ruby-build

インストールできたら以下コマンドでrbenvの初期設定をします。
まずは現在使っているシェル名を確認します。

$ echo $SHELL

実行結果がbin/zshだったので以下コマンドを実行して初期設定完了です。

$ echo 'eval "$(rbenv init -)"' >>  ~/.zshrc
$ source ~/.zshrc

Rubyのインストール

以下コマンドでインストールできるRubyのバージョン一覧を確認します。

$ rbenv install -l

最新版のRubyをインストールします。

$ rbenv install 3.2.2

そうすると以下のようなエラーが表示されました。

BUILD FAILED (macOS 13.2.1 using ruby-build 20230914.1)

Inspect or clean up the working tree at /var/folders/ks/1d8gcktx5cb3bb3m5hv19rfc0000gn/T/ruby-build.20230916165417.16799.uYlRrz
Results logged to /var/folders/ks/1d8gcktx5cb3bb3m5hv19rfc0000gn/T/ruby-build.20230916165417.16799.log

Last 10 log lines:
./vm_callinfo.h:218:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
    if (debug) rp(ci);
               ^
./internal.h:94:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
                                                                       ^
compiling cont.c
2 errors generated

error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'でググってみると以下の記事が見つかりました。Xcode Command Line Toolsが悪さをしているらしいです。
https://ama-tech.hatenablog.com/build-failed-when-rbenv-install-ruby-3-1-1

なので以下コマンドでXcode Command Line Toolsの削除&インストールします。

$ sudo rm -rf /Library/Developer/CommandLineTools          
$ sudo xcode-select --install #ポップアップが表示されるので促されるままにインストール

もう一度Rubyのインストール

$ rbenv install 3.2.2
$ rbenv global 3.2.2

Rubyのバージョン確認

$ ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]

無事に最新版Rubyのインストールができました。

SQLite3のインストール

バージョンが表示されればインストール不要です。

$ sqlite3 --version
3.32.3 2020-06-18 14:00:33 7ebdfa80be8e8e73324b8d66b3460222eb74c7e9dfd655b48d6ca7e1933calt2

Railsプロジェクトの作成

今回はRailsプロジェクトごとにgemの管理をしていく方法を採ります。
まずはプロジェクトのディレクトリを作り、bundleの初期設定をします。

$ mkdir Desktop/test-app
$ cd Desktop/test-app
$ bundle init
Writing new Gemfile to /Users/username/Desktop/test-app/Gemfile

生成されたGemfileの以下の行のコメントアウトを外します。

# gem "rails"

vendor/bundleディレクトリにgemをインストールします。pathオプションをつけることによって、今後bundle installコマンドを実行したときに、こちらのディレクトリのgemに適応してくれます。

$ bundle install --path vendor/bundle

以下コマンドでRailsプロジェクトを立ち上げます。

$ bundle exec rails new . -B --skip-turbolinks --skip-test

Gemfileでコンフリクトして上書きするか聞かれるので、yesを入力して実行すると、Railsアプリに必要なファイルが作成されました。

Webサーバーの立ち上げ

以下コマンドを実行するとWebサーバーが立ち上がります。

$ bundle exec rails s

以下URLにアクセスするとRails画面が表示されました!
http://localhost:3000/
スクリーンショット 2023-09-16 19.43.59.png

学び

環境構築について

  • railsも1つのgemであること。
  • railsをインストールすることでrails sを実行できるようになり、自分のPC上でWebサーバーを立ち上げてくれること。

用語

  • シェル
    人間からの入力をコンピュータに伝える役割。つまり入力とコンピューターのインターフェース。
    echo $SHELLで使っているシェルの名前が分かる。
    代表的なシェルは、bash、zshなどがある。
    シェルはシンボリックリンクが使われていることもある。

  • シンボリックリンク
    実際のファイルの置き場所とは異なるパスでそのファイルを参照できる仕組み。エイリアスのようなイメージ。

  • bundler
    gemのバージョンやgemの依存関係を管理してくれるgemのこと。bundlerを使うことで、複数人での開発やgemのバージョンが上がってもエラーを起こさずに開発できる。

  • Turbolinks
    Railsで使われるJavaScriptライブラリで、ページ遷移を高速化するための仕組み。

コマンド

  • source
    シェルの設定を反映させる。

  • bundle exec {コマンド}
    Gemfile内で指定されている全てのGemを適応して、 そのコマンドを実行する。

参考記事

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?