トラブルシューティング

インストール後、アドオン SDK が機能しなくても心配は要りません。 このページでは、問題の原因を究明するためにまず行う手順をいくつか示します。

Mac OS X での隔離の問題

Mac OS X で cfx を実行しようとすると、次のエラーが発生することがあります。

/path/to/sdk/bin/cfx: /usr/bin/env: bad interpreter: Operation not permitted

このエラーの原因として、インターネットからダウンロードした cfx 実行可能ファイルが、隔離領域に配置されている可能性があります。

隔離領域からファイルを取り出すには、以下のように xattr -d コマンドを使用し、削除する属性名に com.apple.quarantine、その属性を削除するファイルの名前に cfx を指定します。

xattr -d com.apple.quarantine /path/to/sdk/bin/cfx

Python の確認

SDK の cfx ツールは、Python 上で動作します。cfx が起動しない場合は、Python が正しくインストールされていることを確認してください。

これには、コマンドラインから以下を実行します。

  python --version

cfx を使用するには、Python 2.5 または 2.6 が必要です。それより古いバージョンも新しいバージョンも機能しない可能性があります。

Firefox または XULRunner の確認

cfx は、システム上の既知の場所で Firefox または XULRunner を検索します。しかし、cfx が Firefox または XULRunner を検出できないことがあります。また、複数個インストールされている場合に、誤ったインストール環境を検出することも考えられます。そのような場合には、cfx--binary オプションを使用します。詳細については、[cfx ツール][]ガイド(英語)を参照してください。

cfx を実行してアドオンのテストまたは単体テストを行うと、検出された Firefox または XULRunner のバイナリの場所が出力されるので、正しいバイナリが使用されているかどうかを確認できます。

テキストコンソールの確認

SDK の API とコード内でエラーが発生すると、それらのエラーはテキストコンソールにロギングされます。このコンソールは、cfx コマンドを実行したのと同じコンソールまたはシェルです。

SDK に関係のないファイルの処分

現在のところ、SDK は想定外のファイルやディレクトリを検出した場合、それらを適切に処理することができません。addon-sdk ディレクトリまたはそのサブディレクトリの中に、空のディレクトリまたは SDK と無関係のディレクトリやファイルが存在する場合は、それらを移動または削除してください。

既知の問題点の検索

問題が発生した場合、他のユーザーがすでに同じ経験をしていることも考えられます。プロジェクトのメーリングリストには、他のユーザーから問題点の報告が数多く寄せられています。また、既知の問題(known issues)のリストを参照したり、特定のキーワードを検索したりすることもできます。

プロジェクトチームやユーザーグループへの問い合わせ

プロジェクトのメーリングリストでは、SDK のユーザーやプロジェクトチームのメンバーが様々な問題点や提案について議論しています。同じ問題に遭遇したユーザーが他にもいる可能性があるので、リストを探してみてください。 もちろん質問の投稿も大歓迎です。

Mozilla の IRC ネットワーク(Mozilla's IRC network)#jetpack で、他の SDK ユーザーとチャットすることもできます。

SDK のバグ報告も常時受け付けています。その場合、Mozilla のバグ追跡システムである、Bugzilla のアカウントを作成する必要があります。

SDK の単体テストの実行

SDK には API が正しく機能するかどうかを確認するテストスイートが付属しています。 これを実行するには、次のコマンドを使用します。

  cfx testall

テスト中に、ユーザーインターフェイスに関連する API を確認するために Firefox ウィンドウが開くことがあるので驚かないでください。作業は、スイートが終了するのを待って再開してください。

スイートが終了すると、テキストコンソールに例えば以下のように出力されます。

  Testing cfx...
  .............................................................
  ----------------------------------------------------------------------
  Ran 61 tests in 4.388s

OK
  Testing reading-data...
  Using binary at '/Applications/Firefox.app/Contents/MacOS/firefox-bin'.
  Using profile at '/var/folders/FL/FLC+17D+ERKgQe4K+HC9pE+++TI/-Tmp-/tmpu26K_5.mozrunner'.
  .info: My ID is 6724fc1b-3ec4-40e2-8583-8061088b3185
  ..
  3 of 3 tests passed.
  OK
  Total time: 4.036381 seconds
  Program terminated successfully.
  Testing all available packages: nsjetpack, test-harness, api-utils, development-mode.
  Using binary at '/Applications/Firefox.app/Contents/MacOS/firefox-bin'.
  Using profile at '/var/folders/FL/FLC+17D+ERKgQe4K+HC9pE+++TI/-Tmp-/tmp-dzeaA.mozrunner'.
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  .........................................................................
  ...............................................

3405 of 3405 tests passed.
  OK
  Total time: 43.105498 seconds
  Program terminated successfully.
  All tests were successful. Ship it!

上の例と違って多くのエラーが表示される場合、システム上で SDK が正しく機能していないことが考えられます。その場合は、バグを報告するか、プロジェクトのメーリングリストにメッセージを送ってください。手順については、前のセクションを参照してください。