Skip to content
Published:

【RubyMine】デバッグ時、requireで怒られたときの対処法(小ネタ)

IMAGE: https://cdn-ak.f.st-hatena.com/images/fotolife/i/ikmbear/20200815/20200815154953.png

RubyMine小ネタです。

Byebugを無視した罰当たり

本日チェリー本でByebugを覚えました。

「覚えたからって関係ねえ、Byebugを使用せずに私はRubyMineでデバッグをやるんだ」とデバッグを試みたところ、デバッガが異常終了してしまいました。これは罰当たりか…?

Uncaught exception: cannot load such file -- ./lib/effects    /Users/username/RubymineProjects/ruby-book/lib/word_synth.rb:1:in `require'    /Users/username/RubymineProjects/ruby-book/lib/word_synth.rb:1:in `<top (required)>'

原因はデバッグの構成

コマンドラインから通常通り実行していた際は、以下のrequireで問題なく動いていました。

require './lib/effects'

これを以下のように書き換えてあげるとうまく実行できるようになります。つまりシェルからの実行時と、Rubymineのデバッガでは相対パスの基準点がずれているわけです。

require './effects'

ではカレントディレクトリがどこで決まっているかというと、画面右上のプルダウンをクリックすると展開されるので…f:id:ikmbear:20200815154953p:plainその中のEdit Configrationsを押すと、各ファイルごとの設定をみることができます。f:id:ikmbear:20200815154609p:plain

上図内赤枠の「Working Directory」が相対パスの基準点になるので、

もしくは

ことで、デバッグ実行が正しくできるようになりました。

上小ネタでした〜。