前提・実現したいこと
Ruby on Rails 6の環境構築の段階で、Pryを導入しようとしたところ、エラーが発生してPryコマンドが実行できません。
実現したいことは、Pryコマンドの正常な実行です。
環境
Windows10
シェルはWindows Powershell ISEです。
発生している問題・エラーメッセージ
PS C:\Users\youiw\ruby_lesson\SampleApp> pry [0F笆スError: divided by 0 C:/Ruby26-x64/lib/ruby/site_ruby/reline/line_editor.rb:211:in `div' … Error: divided by 0 C:/Ruby26-x64/lib/ruby/site_ruby/reline/line_editor.rb:211:in `div' → (以降同様のエラーメッセージが5回) … FATAL: Pry failed to get user input using 'Reline'. To fix this you may by able to pass input and output file descriptors to pry directly. e.g. Pry.config.input = STDIN Pry.config.output = STDOUT binding.pry
該当のソースコード(.../line_editor.rb:210-212)
FATAL以下の記述は正直、どういうことか分からなかったので"divided by 0"のエラー箇所を確認しました。
ruby
1private def calculate_height_by_width(width) 2 width.div(@screen_size.last) + 1 3end
試したこと
エラーメッセージの"divided by 0"より、@screen_sizeの最後の要素が0なのかなと思い、該当ファイルで@screen_sizeが取得されている箇所を探したところ
ruby
1 def reset(prompt = '', encoding:) 2 @rest_height = (Reline::IOGate.get_screen_size.first - 1) - Reline::IOGate.cursor_pos.y 3 @screen_size = Reline::IOGate.get_screen_size
このコードまでは見つけられたのですが、RelineクラスのIOGate.get_screen_sizeメソッド(?)の定義にたどり着く方法が分かりませんでした。
配列の要素を確認したかったので一応@screen_sizeを出力したところ[0, 0]でした。
ruby
1p @screen_size #[0, 0]
Screen_sizeの値が0なのは不自然なので、ここがおかしいのでしょうか。
補足情報
同様のエラーにより、irbコマンドも実行できません。
プログラミング自体始めたばかりで、Railsも1週間ほど前にインストールしたばかりです。分かりにくい表現があれば、申し訳ありません。ご指摘願えると幸いです。
(RubyおよびRails導入の際にも、Msys64のインストール、Rails newの実行、Rails sの実行など、相当エラーばかりだったので、この時点で解決できていなかったもののせいでエラーが発生しているかもしれません。)
あなたの回答
tips
プレビュー