パッケージング

このページでは、拡張機能のパッケージ方法を説明する。概要で説明されているように、拡張機能は拡張子 crx の付く、特別な署名の入ったZIPファイルである。(例えば myextension.crx のような)

注意: 自分自身でパッケージングを行う必要は無いかもしれない。拡張機能を で公開するならば crx ファイルを作る理由は、例えばアルファテストで配布するための非公式バージョンを作るような時にしか無い。

拡張機能をパッケージングする際、一意な鍵ペアによりサインされる。公開鍵は、拡張機能を識別するために使われる。秘密鍵は開発者のみが保持し、拡張機能の各バージョンにサインするのに使われる。

パッケージの作成

拡張機能をパッケージするには、次の手順で行う。

  1. URLに “chrome://extensions” を入力して、拡張機能の管理画面を表示する。
  2. デベロッパーモードになっていない場合、右上の “デベロッパーモード” をクリックしてボタンを表示させる。
  3. “拡張機能のパッケージ化” ボタンを押して、ダイアログを表示させる。
  4. “拡張機能のルートディレクトリ” に、例えば “c:\myext” のような拡張機能のフォルダを指定する。(他の項目は無視する。その拡張機能を初めてパッケージ化する場合、“秘密鍵ファイル” を指定する必要は無い)
  5. “OK” を押す。パッケージ化機能は、インストール用の拡張機能本体である .crx ファイルと、秘密鍵である .pem ファイルを作成する。

この後 秘密鍵を紛失しない ように注意すること! 秘密鍵である .pem ファイルは、安全な場所に保全しておかなければならない。次のようなことを行う場合に、このファイルは必要となる。

拡張機能のパッケージ化に成功すると、作成された .crx と .pem ファイルの場所を示す、次のようなダイアログが表示される。

パッケージの更新

拡張機能を更新するには、次の手順で行う。

  1. manifest.json のバージョン番号を上げる。
  2. URLに “chrome://extensions” を入力して、拡張機能の管理画面を表示する。
  3. “拡張機能のパッケージ化” ボタンを押して、ダイアログを表示させる。
  4. “拡張機能のルートディレクトリ” に、例えば “c:\myext” のような拡張機能のフォルダを指定する。
  5. “秘密鍵ファイル” に、初回に作られた例えば “c:\myext.pem” のような、この拡張機能用の .pem ファイルを指定する。
  6. “OK” を押す。

拡張機能の更新に成功すると、次のようなダイアログが表示される。

コマンドラインによるパッケージング

拡張機能をパッケージ化するもうひとつの方法は chrome.exe をコマンドラインから実行する。 —pack-extension フラグで拡張機能のフォルダを指定し、—pack-extension-key で秘密鍵ファイルを指定する。例えば以下のようにする。

chrome.exe --pack-extension=c:\myext --pack-extension-key=c:\myext.pem

ダイアログを表示させないようにするには、更に —no-message-box をコマンドに追加する。

注意: コマンドラインからのパッケージを行うには、Chromeブラウザを閉じておくか、異なるプロファイルを使う必要がある。

Rubyスクリプト

拡張機能のパッケージングを Rubyスクリプト から行うことも出来る。詳しくは github:crxmake を参照。