概要
railsを触ろうと思ってWindowsでHelloWorld的なところをやろうとしたら、エラーが出てしまったのでその対応の備忘録。
バージョン
- ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32]
- Rails 7.0.3
- Windows 10 Home
エラー内容
Windows PowerShell
でコマンド実行。
アプリケーションを作る際にエラー。
$ rails new rails_practice
エラーログ
create
create README.md
create Rakefile
create .ruby-version
create config.ru
create .gitignore
create .gitattributes
create Gemfile
run git init from .
C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/railties-7.0.3/lib/rails/generators/rails/app/app_generator.rb258in ``' No such file or directory - git config init.defaultbranch (ErrnoENOENT)
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailsgeneratorsrailsappapp_generator.rb258in `user_default_branch'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailsgeneratorsrailsappapp_generator.rb76in `version_control'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailsgeneratorsapp_base.rb134in `public_send' from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailsgeneratorsapp_base.rb134in `build'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailsgeneratorsrailsappapp_generator.rb328in `create_root_files'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorcommand.rb27in `run'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorinvocation.rb127in `invoke_command'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorinvocation.rb134in `block in invoke_all'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorinvocation.rb134in `each'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorinvocation.rb134in `map'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorinvocation.rb134in `invoke_all'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorgroup.rb232in `dispatch'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorbase.rb485in `start'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailscommandsapplicationapplication_command.rb26in `perform'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorcommand.rb27in `run'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthorinvocation.rb127in `invoke_command'
from CRuby30-x64librubygems3.0.0gemsthor-1.2.1libthor.rb392in `dispatch'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailscommandbase.rb87in `perform'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailscommand.rb48in `invoke'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3librailscli.rb18in `top (required)'
from internalCRuby30-x64libruby3.0.0rubygemscore_extkernel_require.rb85in `require'
from internalCRuby30-x64libruby3.0.0rubygemscore_extkernel_require.rb85in `require'
from CRuby30-x64librubygems3.0.0gemsrailties-7.0.3exerails10in `top (required)'
from CRuby30-x64binrails23in `load'
from CRuby30-x64binrails23in `main'
原因
実行環境が原因でした。
エラー内容にNo such file or directory - git config init.defaultbranch (ErrnoENOENT)
とあるように、なにかしらgitに関係しているだろうと推測しました。
調べてるとgitがinstallされていないことが原因と書かれていました。
ただ、gitはinstallしていたのでこれいかに?
さらに深掘りしていくと、Windows PowerShell
でgitコマンドが使える状態になっている必要があるのでは?というあたりがつき、再度gitをinstallし直しました。
3つ選択肢があるうちの真ん中を選択していてインスコ(Recommendedって書いてあるじゃん、昔の自分は何をしていたのか...)
普段gitの操作はgit bashを使っていたので、それの弊害ですね。
その他
他にもsqlite3のインストールで詰まったのでこちらを参考にして入れました。
そもそもrailsとWindowsの相性が良くないらしいです。
Dockerで環境構築してもよかったかも。
趣味用Macほしいけど、円安が進みすぎてて今は時期じゃない...