修行のために何かを作る話(rails new)

この話の続き

平日は忙しくて全然が進まないなぁ。

何はともあれrails newしてアプリケーションを作らねば始まらない。

環境周り

Ruby3は3.1あたりが出るまで様子見…しなくても良いんだけど、変なトラブルを踏んでモチベーションが落ちてもしょうがないので安定しているであろう2.7を選択。
そのうちRubyのバージョンアップをする事もあろう。それもまあ面白そう。

Railsは6.1。最新。
なにやらRails 7はRuby 2.7+が必須らしいので、まあRails7までは特にRubyのバージョンは気にしないで良さそう。

と言うわけでバージョン類は以下の通り。

ruby --version
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin18]node --version
v14.13.0yarn --version
1.22.5bundle exec gem list rails

*** LOCAL GEMS ***

rails (6.1.1)

Yay!

とりあえず最初の画面を見よう。

❯ bin/rails s
=> Booting Puma
=> Rails 6.1.1 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.2.1 (ruby 2.7.2-p137) ("Fettisdagsbulle")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 64281
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop

スクリーンショット 2021-02-06 22.43.16

いやー簡単だなRails。
ここまでのスピード感は本当にすごい。

ちょっとハマったこと

なんか最近はbundle installにpathを指定するのは古い習慣らしいので調べてbundle configに設定するようにした。
その時に一緒にbundle binstubsなるものを設定して「これでもうbundle execは気にしなくて良いよ!」的な情報をみたので設定したら色々とハマった。

目標としては「bundle install はオプション無しでも想定どおりvendor下にinstallできる」「railsコマンドはbundle execを書かなくてもrailsだけで実行できること」を目指した。
困ったのは二つ目。

結論から言うと「PATHに./binを加える」といった不恰好な設定をしない限りbinstubsがbundle/bin配下からrailsを動かしてくれることはなさそう。

本当かどうかは分かっていないが、当面苦労していないのでbin/railsコマンドで運用する。

この記事が気に入ったらサポートをしてみませんか?