なんじゃくにっき

プログラミングの話題中心。

Rails 7新規プロジェクト作成

概要

以前Rails 7キャッチアップしようとしたらdeviseが対応してなかったりしたので後回しにしてたのですが、 deviseがこの前対応していたので試してみます。

devise/CHANGELOG.md at main · heartcombo/devise · GitHub

以下のOSはubuntu

Rubyのインストール

anyenvは事前にインストール済とします。

rbenv 自体をアップデート

Ubuntuの場合

cd ${RBENV_ROOT}
git pull
cd ${RBENV_ROOT}/plugins/ruby-build
git pull

Macの場合は多分

brew update
brew upgrade ruby-build

インストール可能なRubyのバージョンを確認

rbenv install -L 

Ruby インストール

rbenv install 3.2.1

project作成

github上でrepository作成する(ここでは仮に名前をhogehogeとする)

localで

git clone https://github.com/nanjakkun/hogehoge
cd hogehoge

Rubyのバージョン固定

touch .ruby-version
echo "3.2.1" >> .ruby-version

Gemfileの作成

bundle init

gemのインストール

Gemfileの

# gem "rails"

となっている箇所を

gem "rails", "~> 7.0.4"
bundle install

--path vendor/bundle は付ける派の人とつけない派の人がいますがここでは付けないでおきました。

bundle install時に--path vendor/bundleを付ける必要性は本当にあるのか、もう一度よく考えてみよう - Qiita

Rails初期化

bundle exec rails new . -d postgresql --skip-jbuilder --skip-turbolinks --skip-test

オプション - -d: データベース。ここではpostgresql。 - --skip-jbuilder jbuilderをインストールしない。 - --skip-turbolinks turbolinksを使わない。 - --skip-test minitestを使わない。RSpec使う場合はこれを指定

恐らくデータベースのライブラリがインストールされていないと失敗します

postgresqlの場合は事前に

sudo apt install libpq-dev postgresql

データベース初期化

bundle exec rails db:create

サーバー起動

bundle exec rails s

これでブラウザから http://localhost:3000 にアクセスして表示されればOK