RubyMine으로 Vagrant의 Rails를 원격 디버깅

3214 단어 RubyMineRailsVagrant
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 설정



    연결



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

    + 버튼으로 추가하고 위에서 확인한 정보를 입력합니다.



    Mappings



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



    사용할 인터프리터 설정



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

    +로 추가하여 원격으로 사용하는 인터프리터를 설정합니다.



    아래의 Ruby interpreter path는, /home/ubuntu/.rbenv/shims/ruby 는 아니고, /home/ubuntu/.rbenv/versions/2.4.0/bin/ruby 의 쪽의 패스를 사용할 필요가 있습니다. 그렇지 않으면 Gem이 로드되지 않습니다.



    Run/Debug Configurations 설정





    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 개발

    좋은 웹페이지 즐겨찾기