Rubyの続きです。前回はRubyの分岐や反復など制御構造について書きました。今回からはWebフレームワークRuby on Railsに入っていきます!Railsチュートリアルにトライします。初回は環境構築編です。それではいきましょう!
【目次】
Ruby/Ruby on Railsを習得するためにやったこと まとめ
qiita.com
Railsチュートリアル用テンプレートのリポジトリを作成
さっそくRailsチュートリアルの1章から始める!(1章は購入前でも試し読みできる模様)
※参考:第1章 ゼロからデプロイまで - Railsチュートリアル
最初にRailsチュートリアル用テンプレートのページを開く。
右上の「Use this template」のプルダウンから「Create a new repository」を押す。
リポジトリ作成画面でアプリ名を入れる(hello_appなど)
自分のGitHubアカウント内にhello_appリポジトリが作成された!
テンプレート機能はフォークと似ているが下記の違いがあるようだ。
- 1つのリポジトリから複数作成できる(forkだと、同名のリポジトリとなるので1人のユーザー内で複数作成は不可)
- 元となったリポジトリのコミット履歴を継承せず、クリーンな状態でスタートできる
※参考:GitHubのTemplate Repository機能のすゝめ #GitHub - Qiita
Codespacesで環境構築してみる
チュートリアルではまずGitHubのクラウド環境上にあるCodespacesでの環境構築を推奨していた。
Codespacesは使ったことないが、120時間までは無料。超えそうな時に通知メールが来て、その後にストップするらしい。
自分で制限解除すると有料に切り替わる。気がついたら有料ってことはなさそう。
※参考:GitHub Codespaces の請求について - GitHub Docs
リポジトリの「Code」から「Codespaces」を押す。
環境構築中の画面になる。しばらく待つ…。
Codespaces画面になった!リポジトリと同じファイル構成が入っている。
Codespacesは始めて触ったけど、メニューなどはVSCodeとほとんど同じ感じのようだ。同じMicrosoftだからかな。
Rubyがインストールされていることを確認。
$ ruby -v ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux]
Railsがインストールされているかも確認。もうインストールされているようだ。
$ rails -v Rails 7.0.4.3
ブラウザ版のテキストエディタvscode.devもあるけど、こちらはターミナルが使えない。Codespacesの方はターミナルも使える。
※参考:「.」で起動するgithub.devとGithub Codespacesの違い #GitHub - Qiita
Railsをインストール
Railsチュートリアル自体はCodespaces環境でそのまま進めてもいいのだが、チュートリアルにはCodespaces環境の次にローカル環境の構築方法も書かれていた。
制限時間を気にせずにやりたいのでローカル環境の構築もトライしてみる。
ローカル環境にはrubyはすでにインストールされている。
% ruby -v ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
Rubyのインストールは下記の記事を参照
※参考:【Ruby】最新版Rubyをインストール 〜苦戦の記録〜(ありがとうGemini先生) - クモのようにコツコツと
railsのインストールはまだしていないため、バージョン番号は表示されない。
% rails -v Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command.
Railsをインストールする時に、Rubyドキュメントをインストールすると時間が長くなるようだ。
ドキュメントをインストールに含めない設定を追加するコマンドを実行
% echo "gem: --no-document" >> ~/.gemrc
実行後は特に何も起こらない。
RubyGemsについてはRubyインストールの記事を参照
※参考:【Ruby】最新版Rubyをインストール 〜苦戦の記録〜(ありがとうGemini先生) - クモのようにコツコツと
Railsをインストールするコマンド(バージョン番号も指定する)
% gem install rails -v 7.0.4.3 Successfully installed rails-7.0.4.3 1 gem installed
Railsのインストール確認。バージョン番号が表示された!
% rails -v Rails 7.0.4.3
bundlerのgemのバージョンも揃える。
% gem install bundler -v 2.5.6 Fetching bundler-2.5.6.gem Successfully installed bundler-2.5.6 1 gem installed
Rubyのバージョンを変更
先ほどのcodespaces版「hello_app」のrailsのバージョンは3.2.3なので、ローカル環境も3.3.0から3.2.3に変更したい。
ruby "3.2.3"
※参考:hello_app/Gemfile at main · ryo-i/hello_app · GitHub
下記の記事を参考にRubyのバージョンを変更してみる。
※参考:Rubyのバージョン変更 #Ruby - Qiita
rbenvでインストールできるバージョン確認。3.2.3もインストールできる。
% rbenv install --list 3.0.6 3.1.4 3.2.3 3.3.0 jruby-9.4.6.0 mruby-3.3.0 picoruby-3.0.0 truffleruby-24.0.0 truffleruby+graalvm-24.0.0 Only latest stable releases for each Ruby implementation are shown. Use `rbenv install --list-all' to show all local versions.
3.2.3をインストール
% rbenv install 3.2.3 ruby-build: using openssl@3 from homebrew ==> Downloading ruby-3.2.3.tar.gz... (※中略) -> make install ==> Installed ruby-3.2.3 to /Users/xxx/.rbenv/versions/3.2.3
インストール、かなり長かった!不安になってググったらそういうものらしい、、
※参考:rbenv install 遅くて痺れを切らした話 #Ruby - Qiita
インストールしたRubyのバージョン一覧(3.2.3も入っていて、3.3.0に印が付いている)
% rbenv versions system 3.2.3 * 3.3.0 (set by /Users/xxx/.rbenv/version)
rubyのバージョンを3.2.3に変更
% rbenv global 3.2.3
rbenvのキャッシュを更新する
% rbenv rehash
rubyのバージョンが3.2.3に切り替わっていた!
% ruby -v ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-darwin22]
Railsを更新
railsのバージョンを確認するとか下記の表示になった、、
% rails -v rbenv: rails: command not found The `rails' command exists in these Ruby versions: 3.3.0
むむ?
「rails」コマンドは、次の Ruby バージョンに存在します。 3.3.0
rubyのバージョンごとにrailsをインストールする必要がありそう。
もう一回railsをインストールする
% echo "gem: --no-document" >> ~/.gemrc % gem install rails -v 7.0.4.3 Building native extensions. This could take a while... Successfully installed nio4r-2.7.1 Successfully installed actioncable-7.0.4.3 Successfully installed rails-7.0.4.3 3 gems installed
railsのバージョンが表示された!
% rails -v Rails 7.0.4.3
bundlerのバージョンを揃える
% gem install bundler -v 2.5.6 Fetching bundler-2.5.6.gem Successfully installed bundler-2.5.6 1 gem installed
hello_app
hello_appをインストールしたいフォルダに移動し、下記のコマンドを実行
% rails _7.0.4.3_ new hello_app
しばらくインストール時間がかかったあとにインストール成功。「hello_app」フォルダが作られる。
「hello_app」のGemfileの内容を下記に書き換える
source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "3.2.3" gem "rails", "7.0.4.3" gem "sassc-rails", "2.1.2" gem "sprockets-rails", "3.4.2" gem "importmap-rails", "1.1.5" gem "turbo-rails", "1.4.0" gem "stimulus-rails", "1.2.1" gem "jbuilder", "2.11.5" gem "puma", "5.6.8" gem "bootsnap", "1.16.0", require: false gem "sqlite3", "1.6.1" group :development, :test do gem "debug", "1.7.1", platforms: %i[ mri mingw x64_mingw ] end group :development do gem "web-console", "4.2.0" gem "solargraph", "0.50.0" gem "irb", "1.10.0" gem "repl_type_completor", "0.1.2" end group :test do gem "capybara", "3.38.0" gem "selenium-webdriver", "4.8.3" gem "webdrivers", "5.2.0" gem "rails-controller-testing", "1.0.5" gem "minitest", "5.18.0" gem "minitest-reporters", "1.6.0" gem "guard", "2.18.0" gem "guard-minitest", "2.4.6" end # Windows ではタイムゾーン情報用の tzinfo-data gem を含める必要があります # gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
railsのバージョン番号を確認するが表示されない、、
% rails -v Could not find gem 'sassc-rails (= 2.1.2)' in locally installed gems. Run `bundle install --gemfile /Users/xxx/hello_app/Gemfile` to install missing gems.
gemsのパッケージをインストールする。これはJSでいうnpm install
みたいなものか。
% bundle install
しばらく時間かかるのを待つ、、、
インストール完了後、railsのバージョンが表示された!
% rails -v Rails 7.0.4.3
終わりに
ということで、Codespacesとローカルに環境構築してみました。ローカルの方がrubyのバージョンごとにrailsを入れたり、Codespacesよりも手間はかかりましたが、なんとか構築できたのでこのままローカルで作業を続けてみようと思います。
次回はgithubへのプッシュやクラウド環境へのデプロイに進みたく思います。それではまた!
Ruby/Ruby on Railsを習得するためにやったこと まとめ
qiita.com