Byebugのリモートデバッグインスタンスに接続するにはどうすればよいですか(Powなどで使用するため)?
上記を達成するために、いくつかの異なるソースからの情報をつなぎ合わせる必要があったので、便宜上、ここに統合ガイドを含めようと思いました。
手順は次のとおりです。
Config/environment/development.rbに、以下を追加します。
require 'byebug'
#set in your .powconfig
if ENV['Ruby_DEBUG_PORT']
Byebug.start_server 'localhost', ENV['Ruby_DEBUG_PORT'].to_i
else
Byebug.start_server 'localhost'
end
Powを再起動し、yourapp.devにアクセスします
以下を実行します。
[bundle exec] byebug -R localhost:<port_you_defined_in_pow_config>
リモートインスタンスへの接続が成功するはずです。
ジョセフの答えは良かったが、いくつかの小さな点で混乱した。彼は、バイバグサーバーの起動をconfig/environments/development.rb
に配置します。これは、イニシャライザーの方が適している場合です。さらに、環境変数のエクスポートは.powenv
または.powrc
で行われます。これが私がそれを機能させる方法です。
あなたのgemfileで:
gem 'byebug'
コマンドラインで:
bundle install
Powを使用している場合は、.powenv
に以下を追加します。
export BYEBUGPORT=3001
他のフレームワーク(例:foreman
)を使用している場合は、代わりに.env
を変更する必要があります。
config/initializers/byebug.rb
で
if Rails.env.development? and ENV['BYEBUGPORT']
require 'byebug/core'
Byebug.start_server 'localhost', ENV['BYEBUGPORT'].to_i
end
そして最後にコマンドラインで:
touch tmp/restart.txt
Powサイトにアクセスすると、byebugサーバーが起動します。コマンドラインで次のことができます:
[bundle exec] byebug -R localhost:3001