トラブルシューティング
インストール後、アドオン 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 が正しく機能していないことが考えられます。その場合は、バグを報告するか、プロジェクトのメーリングリストにメッセージを送ってください。手順については、前のセクションを参照してください。