LoginSignup
19
17

More than 5 years have passed since last update.

RubyMineでVagrantのRailsをリモートデバッグする

Last updated at Posted at 2017-04-16

Vagrantで作ったrailsの環境をRubyMineに設定することで、RubyMineからrails serverを実行したり、デバッグのステップ実行ができたりします。仕組みとしてはRubyMineからリモート環境にSSH接続して、リモート環境のインタープリタを使用します。

前提

  • rbenvを使っています。
  • ポートフォワーディングを下記のように設定している状態です。
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network "forwarded_port", guest: 80, host: 9080, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 3000, host: 9030, host_ip: "127.0.0.1"
end

リモート環境へのSSH接続に関する設定

VagrantのSSHログイン情報の確認

下記でSSHログインに必要な情報が表示されます。

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User ubuntu
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/endoy/vagrant/ubuntu/default/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

Deploymentの設定

Connection

File > Settings > Build, Execution, Deployment > Deployment > Connection

+ボタンで追加し、上記で確認した情報を入力します。

rubymine1.png

Mappings

File > Settings > Build, Execution, Deployment > Deployment > Mappings

rubymine1_2.png

使用するインタープリタの設定

File > Settings > Languages & Frameworks > Ruby SDK and Gems

+で追加して、リモートで使用しているインタープリタを設定します。

rubymine2.png

下記のRuby interpreter pathは、/home/ubuntu/.rbenv/shims/rubyではなく、/home/ubuntu/.rbenv/versions/2.4.0/bin/rubyの方のパスを使う必要があります。そうでないとGemが読み込まれません。

rubymine3.png

Run/Debug Configurationsの設定

rubymine4.png

rails serverにコントローラの変更が反映されない場合

Vagrantの設定によるかもしれませんが、コントローラを変更してもrails serverを再起動しないと変更が反映されないことがあります。その場合、config/environments/development.rbを下記のように変更すると反映されるようになります。

#config.file_watcher = ActiveSupport::EventedFileUpdateChecker
config.file_watcher = ActiveSupport::FileUpdateChecker

参考:
IntelliJ IDEA 13.1 + Ruby plugin 6.5.0.20140314 DE リモートインタプリタ Rails開発

19
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17