# トラブルシューティング - よくある質問 (FAQ)
ターミナルで workato コマンドを実行するとエラーになります
以下の項目をチェックしてください。
- まず、有効なバージョンの Ruby がインストールされていることを確認します。ターミナルで
ruby -v
と入力すると確認できます。Ruby のバージョンは、2.4.10
、2.5.X
、または2.7.X
である必要があります。推奨されるバージョンは2.7.X
です。 - SDK gem がインストールされていることを確認します。ターミナルで
gem install workato-connector-sdk
を実行すると確認できます。gem which workato-connector-sdk
を使用して gem のインストール先を調べることもできます。 - コネクタープロジェクトで
bundle install
を実行し、依存関係にあるものすべてがインストールされていることを確認します。 - gemfile.lock を削除し、
bundle install
を実行します。
workato exec コマンドを実行するとエラーが発生します
コネクターが API 呼び出しから「400
Bad Request」レスポンスを受信した場合、このエラーが発生することがあります。リクエストを表示するには --verbose
オプションを、SDK Gem のスタックトレースを調べるには --debug
オプションを指定できます。また byebug を使用すれば、詳細なデバッグを行うことができます。
workato push コマンドを使用しようとするとエラーが発生します
workato push
コマンドは、Workato 上でコネクターをリリースしようとします。コネクターに構文エラーがある場合、それがコマンドの出力で伝えられます。
Unable to publish custom adapter Chargebee Demo1: Syntax [["method require not allowed", 1, 0, 1, 16]] and Publish Can not publish adapter with code errors
ここでは1件のエラーがあり (ルート配列の1インデックスで示される)、エラーが行1位置0から行1位置16にあることを伝えています。
RSpec を実行すると、VCR が「there is an VCR::Errors::UnhandledHTTPRequestError:」と表示します
VCR は、spec_helper.rb
での設定に基づき、HTTP リクエストを記録して照合を行います。RSpec が伝えている内容は、送信された HTTP リクエストを、これまで記録したデータと一致させることができないことを示しています。これにはいくつかの理由があります。
secure
を使用してコネクタープロジェクトを設定した場合、デフォルトの VCR 記録モードはnone
に設定されます。つまり、RSpec を実行すると、新しい HTTP のやり取りは記録されず、以前のものだけが再生されることになります。単体テストを実行して新しい HTTP のやり取りをすべて記録するには、コマンドVCR_RECORD_MODE=once bundle exec rspec
を使用できます。- 以前記録された HTTP のやり取りは、現在コネクターが実行しようとしている HTTP のやり取りと一致しない場合があります。これには、以前のアクセストークンが新しいものに変更されたことで異なるヘッダーになったなど、さまざまな理由が考えられます。
spec_helper.rb
で VCR 記録の一致条件を緩和させることができます。詳細については、こちら (opens new window) を参照してください。
例 : spec_helper.rb
を調整することで、さまざまな認証ヘッダーを受け入れるように VCR の一致条件を緩和させることができます。
config.register_request_matcher :headers_without_user_agent do |request1, request2|
request1.headers.except('User-Agent', 'Authorization') == request2.headers.except('User-Agent', 'Authorization')
end
Last updated: 2023/8/31 1:07:14