Rails7アプリの新規作成方法
前提
書くこと/書かないこと
前の記事でインストールしたRuby3.1.2の環境を使ってRails7のアプリケーションを新規作成してみます。
Rubyのインストールまではこちらに記載しています。
環境
Ruby 3.1.2
rails 7.0.3.1
事前準備
Railsに必要なライブラリ等のインストール
Railsのインストールに先立ち、Railsで利用するsqlite3などをインストールしておきます。
# dnf install sqlite sqlite-devel
作業手順
アプリケーション用のルートフォルダの作成
アプリケーションをインストールしたいディレクトリに移動して任意のアプリケーション名でフォルダを作成します。
$ cd path-to-some-dir
$ mkdir rails7-app
bundleの初期化
先ほど作ったアプリケーションフォルダに入ってbundleを初期化します。
$ cd rails7-app
$ bundle init
Writing new Gemfile to /path-to-some-dir/rails7-app/Gemfile
これでアプリケーションフォルダ内にGemfileが作成されます。
Gemfileを開くと下記のように3行だけ記載された状態になっています。
今回はRailsの最新版をインストールしたいので最終行をコメントアウトして保存します。
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
# ↓ Railsの最新版をインストールするために変更
gem "rails"
bundle installの実行
bundle installコマンドを実行して、Railsをインストールします。
インストール前にbundle configを行ってGemをインストールするパスも指定しておきます。
$ bundle config set path 'vendor/bundle'
$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies....
Fetching rake 13.0.6
Installing rake 13.0.6
Fetching concurrent-ruby 1.1.10
Fetching minitest 5.16.3
Fetching erubi 1.11.0
Fetching builder 3.2.4
Installing erubi 1.11.0
Using racc 1.6.0
Fetching crass 1.0.6
Installing builder 3.2.4
Fetching rack 2.2.4
Installing concurrent-ruby 1.1.10
Installing minitest 5.16.3
Fetching nio4r 2.5.8
Installing crass 1.0.6
Fetching websocket-extensions 0.1.5
Fetching marcel 1.0.2
Installing rack 2.2.4
Installing websocket-extensions 0.1.5
Fetching mini_mime 1.1.2
Installing nio4r 2.5.8 with native extensions
Using digest 3.1.0
Fetching timeout 0.3.0
Installing marcel 1.0.2
Fetching strscan 3.0.4
Installing timeout 0.3.0
Installing mini_mime 1.1.2
Using bundler 2.3.7
Fetching method_source 1.0.0
Fetching thor 1.2.1
Installing strscan 3.0.4 with native extensions
Installing method_source 1.0.0
Fetching zeitwerk 2.6.0
Installing thor 1.2.1
Fetching nokogiri 1.13.8 (x86_64-linux)
Installing zeitwerk 2.6.0
Fetching i18n 1.12.0
Installing i18n 1.12.0
Fetching tzinfo 2.0.5
Installing nokogiri 1.13.8 (x86_64-linux)
Installing tzinfo 2.0.5
Fetching websocket-driver 0.7.5
Fetching rack-test 2.0.2
Installing websocket-driver 0.7.5 with native extensions
Installing rack-test 2.0.2
Fetching net-protocol 0.1.3
Fetching mail 2.7.1
Fetching activesupport 7.0.3.1
Installing net-protocol 0.1.3
Fetching loofah 2.18.0
Installing mail 2.7.1
Installing loofah 2.18.0
Fetching net-imap 0.2.3
Installing activesupport 7.0.3.1
Fetching net-pop 0.1.1
Installing net-imap 0.2.3
Fetching net-smtp 0.3.1
Fetching rails-html-sanitizer 1.4.3
Installing net-smtp 0.3.1
Fetching rails-dom-testing 2.0.3
Installing net-pop 0.1.1
Fetching globalid 1.0.0
Installing rails-html-sanitizer 1.4.3
Installing rails-dom-testing 2.0.3
Installing globalid 1.0.0
Fetching activemodel 7.0.3.1
Fetching activejob 7.0.3.1
Fetching actionview 7.0.3.1
Installing activejob 7.0.3.1
Installing activemodel 7.0.3.1
Installing actionview 7.0.3.1
Fetching activerecord 7.0.3.1
Fetching actionpack 7.0.3.1
Installing actionpack 7.0.3.1
Installing activerecord 7.0.3.1
Fetching railties 7.0.3.1
Fetching actioncable 7.0.3.1
Fetching actionmailer 7.0.3.1
Fetching activestorage 7.0.3.1
Installing railties 7.0.3.1
Installing actionmailer 7.0.3.1
Installing actioncable 7.0.3.1
Installing activestorage 7.0.3.1
Fetching actionmailbox 7.0.3.1
Fetching actiontext 7.0.3.1
Installing actionmailbox 7.0.3.1
Installing actiontext 7.0.3.1
Fetching rails 7.0.3.1
Installing rails 7.0.3.1
Bundle complete! 1 Gemfile dependency, 46 gems now installed.
Bundled gems are installed into `./vendor/bundle`
rails 7.0.3.1がインストールされました。
これでようやくRailsアプリを作る準備が完了しました。
画面の表示に従ってbash_profileの末尾に追記します。
Railsアプリケーションの作成
新規にRailsアプリを作るにはrails newします。アプリケーションフォルダは作成済みなので、カレントフォルダを指定します(長いので実行過程は適宜省略します)。
$ bundle exec rails new .
exist
create README.md
create Rakefile
identical .ruby-version
create config.ru
conflict .gitignore
Overwrite /path-to-some-dir/rails7-app/.gitignore? (enter "h" for help) [Ynaqdhm] y
force .gitignore
identical .gitattributes
conflict Gemfile
Overwrite /path-to-some-dir/rails7-app/Gemfile? (enter "h" for help) [Ynaqdhm] y
force Gemfile
run git init from "."
Reinitialized existing Git repository in /path-to-some-dir/rails7-app/.git/
create app
(中略)
Using rails 7.0.3.1
Fetching bootsnap 1.13.0
Installing bootsnap 1.13.0 with native extensions
Bundle complete! 15 Gemfile dependencies, 74 gems now installed.
Bundled gems are installed into `./vendor/bundle`
run bundle binstubs bundler
rails importmap:install
Add Importmap include tags in application layout
insert app/views/layouts/application.html.erb
Create application.js module as entrypoint
create app/javascript/application.js
Use vendor/javascript for downloaded pins
create vendor/javascript
create vendor/javascript/.keep
Ensure JavaScript files are in the Sprocket manifest
append app/assets/config/manifest.js
Configure importmap paths in config/importmap.rb
create config/importmap.rb
Copying binstub
create bin/importmap
rails turbo:install stimulus:install
Import Turbo
append app/javascript/application.js
Pin Turbo
append config/importmap.rb
/usr/bin/which: no redis-server in (/path-to-some-dir/rails7-app/vendor/bundle/ruby/3.1.0/bin:/home/alma/.rbenv/versions/3.1.2/bin:/home/alma/.rbenv/libexec:/home/alma/.rbenv/plugins/ruby-build/bin:/home/alma/.rbenv/shims:/home/alma/.rbenv/bin:/home/alma/.local/bin:/home/alma/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin)
Run turbo:install:redis to switch on Redis and use it in development for turbo streams
Create controllers directory
create app/javascript/controllers
create app/javascript/controllers/index.js
create app/javascript/controllers/application.js
create app/javascript/controllers/hello_controller.js
Import Stimulus controllers
append app/javascript/application.js
Pin Stimulus
Appending: pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true"
append config/importmap.rb
Appending: pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
append config/importmap.rb
Pin all controllers
Appending: pin_all_from "app/javascript/controllers", under: "controllers"
append config/importmap.rb
これでインストール出来ました。
起動確認
最後にRailsの起動確認を行います。
$ bundle exec rails s
=> Booting Puma
=> Rails 7.0.3.1 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.5 (ruby 3.1.2-p20) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 8416
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
エラーなくpumaが起動したのでブラウザを開いて"http://127.0.0.1:3000″にアクセスします。
これでOKです。
ディスカッション
コメント一覧
まだ、コメントがありません