過去のとか任意のバージョンのRailsでrails newしたい

Railsのことを完全に忘れて、そもそもレールズを始めるときはどうすればいいんだ?となったので書いておく。

追記: Rails公式ではgemでインストールするのが前提だった

Rails公式では、Getting started guideにあるように gem install rails でシステムグローバルにインストールすることが前提だった。

https://github.com/rails/rails/issues/44649#issuecomment-1063549532

なので、bundleされたところから rails new されるのは想定されていないし、エラーになる。Rails7で試したら、僕も cannot load such file -- bootsnap/setup (LoadError) のエラーが出てしまった。

ということなので、gemでインストールしましょう。複数のrailsバージョンの使い分けはどうするのがいいんだろう?よくわからない。

追記ここまで

Rubyの入ってる適当なコンテナーを使って、 gem install rails とかはやらないという前提で。

使いたいバージョンのRailsを入れる

newするためのブートストラップ用のRailsを入れる。

$ mkdir rails6 && cd $_
$ bundle init
$ echo 'gem "rails", "6.1.4.1"' >> Gemfile
$ bundle install
$ bundle exec rails --version
Rails 6.1.4.1

使いたいバージョンのRailsrails newする

$ bundle exec rails new --minimal ../blog-6141 && cd $_
$ bin/rails generate model Article title:string body:string
$ bin/rails db:migrate
...

これだけの話だった。