PFメモ日記(2) rails new
githubでリポジトリを作り、README作成後、特に何も考えずにrails new
してgit branchが訳分からないことになってしまったのでお作法を元にやり直すことに。。
- Rubyは最新版を使用
- bundle initから始める(Gemfileが作成される)
- Railsも原則最新の安定版使用とのことだが、操作に不安があるため6系を使用
- Minitest、JSライブラリ使用の有無、デプロイ環境のことを考え、オプションを付与して
rails new
する
※ hotwireとやらを気にすると進まなくなりそうだったので深入りしないことにした
クライアント側のJavaScriptを最小限にするHotwire - ログミーTech
Rubyバージョン設定
① Ruby最新バージョン確認
https://www.ruby-lang.org/ja/downloads/
↑2022年6月現在の時点では3.1.2が最新の安定版
② インストール可能バージョン一覧を確認
$ rbenv install --list
※ 一覧に最新版が表示されなかった場合、下記コマンドでrbenvとruby-buildを更新する
$ brew upgrade rbenv ruby-build
③ 最新版をインストール
$ rbenv install 3.1.2
④ インストールされているか確認
$ rbenv versions
⑤ 最新版がインストールされていたので適用
$ rbenv local 3.1.2
⑥ ruby -v
でバージョンが適用されているか確認
rbenvを利用してRubyのバージョンを最新安定版にする - Qiita
「bundle init」してGemfileを作成する
$ bundle init
tree
コマンドで生成されているか確認
生成されたGemfileのRailsに関する記載を確認する
# gemfile # 下記の記載があるので任意のバージョンを指定する # 特に記載しない場合は自動的に最新の安定版がインストールされる gem "rails", "6.1.6"
7系の仕様に自信がないので6系にする
Gemfileを編集したらbundle install
rails newにオプションを設定する
【完全網羅】rails newの基礎からオプションまで(db, rspec) | 侍エンジニアブログ
↑オプション一覧の記載あり
- RSpecを使う前提でminitestが生成されないようにする
- Herokuでデプロイする前提でPostgreSQLを採用する
※ Herokuでデプロイする場合はMySQLよりも作業に楽になるらしい - JSライブラリを使用する前提でhotwireまたはturbolinksのインストールをスキップする
$ bundle exec rails new . -d postgresql --skip-test --skip-turbolinks
競合するファイルを上書きするかどうかで処理が止まるので、最初から-s
オプションで既にするファイルをスキップすればよかった。
エラーメモ
You don't have net-smtp installed in your application. Please add it to your Gemfile and run bundle install rails aborted! LoadError: cannot load such file -- net/smtp
net/smtp
とやらのエラーが出た
https://github.com/ruby/net-smtp
メール送信関連で必要なファイルらしい🤔
とりあえず今は必要ないから良いのかな??何かあれば、gemをイントールすることに。。
おまけ:アプリ共通で入れることが多いGem
Lint, コード解析
- rubocop
- rubocop-rails
- bullet
テスティングフレームワーク
デバッグ
- better_errors
- binding_of_caller
※ ruby3系から標準でdebug.gemが同梱されるため、あえてpry-railsなどを入れる必要がないとのこと
コード補完
- solargraph
その他
- annotate