準備
VSCodeに Dev Containers
拡張機能をインストールしておきます。
筆者のVSCodeは言語設定を日本語にしてあります。
rails-new コマンドをインストール
Docker環境前提ですが、このコマンドを使えばPCにRubyやRailsをインストールしなくても、新しいRailsアプリケーションを作れます。
rails-new blog --devcontainer
のように使います。
コマンドが使えるかどうかはrails-new help
やrails-new -V
で確認できます。
具体的な手順
https://github.com/rails/rails-new/releases
↓
Assets
↓
私はApple M3なので rails-new-aarch64-apple-darwin.tar.gz をダウンロード(場所は~/Downloads)
↓
解凍
↓
実行ファイルを/usr/local/bin/に移動
sudo mv ~/Downloads/rails-new /usr/local/bin/
↓
rails-new help
↓
エラー
“rails-new”が悪質なソフトウェアかどうかをAppleでは確認できないため、このソフトウェアは開けません。
↓
「システム設定」→「プライバシーとセキュリティ」でrails-newをなんとかして許可
↓
rails-new help
↓
helpが表示!(下記)
A CLI tool to generate a new Rails project
Usage: rails-new [OPTIONS] <ARGS>...
rails-new [OPTIONS] [ARGS]... <COMMAND>
Commands:
rails-help Prints `rails new --help`
help Print this message or the help of the given subcommand(s)
Arguments:
<ARGS>... arguments passed to `rails new`
Options:
-u, --ruby-version <RUBY_VERSION> [default: 3.3.4]
-r, --rails-version <RAILS_VERSION> [default: 7.2.0]
-h, --help Print help
-V, --version Print version
Railsアプリケーションの作成
rails-new -u 3.3.6 -r 8.0.0 blog --devcontainer --skip-test
cd blog
uとrオプションについて。 rails-new help
の説明通り、バージョンを指定できます。
Options:
-u, --ruby-version [default: 3.3.4]
-r, --rails-version [default: 7.2.0]
通常のrails new で使えるオプション--skip-test
もつけておきます
オプション
Argument Description
--skip-git Skip git init, .gitignore, and .gitattributes
--skip-docker Skip Dockerfile, .dockerignore and bin/docker-entrypoint
--skip-keeps Skip source control .keep files
--skip-action-mailer Skip Action Mailer files
--skip-action-mailbox Skip Action Mailbox gem
--skip-action-text Skip Action Text gem
--skip-active-record Skip Active Record files
--skip-active-job Skip Active Job
--skip-active-storage Skip Active Storage files
--skip-action-cable Skip Action Cable files
--skip-asset-pipeline Skip Asset Pipeline
--skip-javascript Skip JavaScript files
--skip-hotwire Skip Hotwire integration
--skip-jbuilder Skip jbuilder gem
--skip-test Skip test files
--skip-system-test Skip system test files
--skip-bootsnap Skip bootsnap gem
--skip-dev-gems Skip adding development gems
--skip-rubocop Skip RuboCop setup
VSCodeで開く
開くと以下のように表示されるので、「コンテナーで再度開く」をクリックして、ビルドを待ちます。
フォルダーに開発コンテナーの構成ファイルが含まれています。 コンテナーで開発するフォルダーをもう一度開きます
その後VSCodeのターミナルでバージョンを確認します。
rails -v
Rails 8.0.0
デフォルトのDBはsqlite3です。
sqlite3 --version
3.40.1 2022-12-28 14:03:47 df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f3alt1
ブラウザで確認する
アプリを起動してブラウザで確認してみます。
bin/dev
コマンドはrails -s
コマンドの代わりで、サーバーの起動だけでなくアセットのビルドも並列で行ってくれます。
bin/dev
=> Booting Puma
=> Rails 8.0.0 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 6.4.3 (ruby 3.3.6-p108) ("The Eagle of Durango")
* Min threads: 3
* Max threads: 3
* Environment: development
* PID: 3710
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
http://localhost:3000/
にアクセスします。
通常のターミナルからコンテナに入るには?
docker ps
などでコンテナ名を確認し、
docker exec -it blog-rails-app-1 /bin/bash
cd workspaces/blog/
rails console
参考