Node.js native addon build tool

node-gyp は Node.js で書かれたクロスプラットフォームのコマンドラインツールで、 Node.js 用ネイティブアドオンモジュールのコンパイルのために、様々なプラットフォームの違いに対処する苦痛から解放してくれるでしょう。 これは、ノードv0.8のために削除されたnode-wafプログラムに代わるものです。

Node の複数のターゲットバージョンをサポートします (すなわち、0.8, 0.9, 0.10, …, 1.0, など)、どのバージョンの node が実際にシステムにインストールされているかにかかわらず (node-gyp はターゲットバージョンに必要な開発ファイルをダウンロードする)。

特徴:

  • 使いやすく、一貫したインターフェイス
  • どのプラットフォームでも同じコマンドでモジュールを構築可能
  • 複数のターゲットバージョンの Node をサポート

インストール

npmを使ってインストール可能です。

$ npm install -g node-gyp

また、次のものをインストールする必要があります:

  • Unix の場合:
    • python (v2.7 推奨、v3.x.x はサポート外)
    • make
    • GCC

    など、正しい C/C++ コンパイラ ツールチェインが必要。

    • Python (v2.7.3 推奨、v3.x.x はサポート外)
    • Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2010 (Express 版はうまく機能します)
      • Node およびネイティブ モジュールの 64 ビット ビルドには、Windows 7 64 ビット SDK も必要です
        • インストールに失敗した場合は、まずインストールした C++ 2010 x64&x86 Redistributable をすべてアンインストールしてみてください。
      • 64 ビット コンパイラーがインストールされていないというエラーが発生した場合、Windows SDK 7 のコンパイラー アップデートも必要な場合があります。1
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2012 for Windows Desktop (Express version works well)

    OS X は単なる Unix 風なので pythonmake および C/C++ が必要なことに注意してください。これらを入手する簡単な方法は、Apple から XCode をインストールし、それを使用してコマンド ライン ツール (環境設定 -> ダウンロード) をインストールすることです。

    使用方法

    ネイティブ アドオンをコンパイルするには、まずそのルート ディレクトリに移動します。

    $ node-gyp configure

    注意: configure ステップでは、現在のディレクトリにある binding.gyp ファイルを検索して処理されます。

    これで build/ ディレクトリに Makefile (Unix プラットフォーム) または vcxproj (Windows) ファイルが作成されたことになります。 次に build コマンドを実行します:

    $ node-gyp build

    これでコンパイルされた .node バインディングファイルができました! コンパイルされたバインディングファイルは、ビルドモードによって build/Debug/ または build/Release/ に格納されます。 この時点で、Node で .node ファイルを要求し、テストを実行できます!

    注意: バインディングファイルのデバッグビルドを作成するには、configure または build コマンドを実行するときに --debug (または-d)スイッチを渡します。

    「binding.gyp」ファイル

    これまで、ノードが node-waf を持つ場合、wscript ファイルを記述しなければいけませんでした。 これはモジュールをビルドするための設定をJSONのような形式で記述するもので、binding.gypファイルがその代わりとなります。 このファイルは package.json ファイルと一緒にパッケージのルートに置かれます。

    ノード アドオンを構築するのに適した基本的な gyp ファイルは次のようになります。

    { "targets": } ]}

    gypファイルを書くための追加リソース:

    • “Hello World” モード アドオン例
    • gyp ユーザードキュメント
    • gyp input format reference
    • “binding.gyp” files out in the wild wiki page

    コマンド

    node-gyp は以下のコマンドに応答します。

    Command Description
    build Ivoke make/msbuild.exe and builds the native addon
    clean build ディレクトリがあれば削除する
    configure 現在のプラットフォーム用のプロジェクトビルドファイルを生成する
    rebuild “クリーン” を実行します。 「configure” と “build” を連続して行う
    install 与えられたバージョンのノード開発ヘッダーファイルをインストールする
    list 現在インストール中のノード開発ファイルのバージョンをリストアップする
    remove 指定されたバージョンのノード開発用ヘッダーファイルを削除する

    ライセンス

    (The MIT License)

    コピーライト (c) 2012 Nathan Rajlich <[email protected]>

    ここに許可する。 本ソフトウェアおよび関連文書ファイル(以下「本ソフトウェア」)のコピーを入手した者は、以下の条件に従い、本ソフトウェアの使用、コピー、変更、結合、出版、配布、サブライセンス、および/または本ソフトウェアのコピーの販売、および本ソフトウェアを提供する相手にそれを許可する権利を含むがそれに限定されない、無制限の取引を無償で行えるものとする。

    上記の著作権表示およびこの許諾表示は、本ソフトウェアのすべてのコピーまたは重要な部分に含まれるものとします。

    本ソフトウェアは「現状のまま」提供され、商品性、特定目的への適合性および非侵害の保証を含むがこれに限定されない、明示または黙示のいかなる保証もありません。いかなる場合も、著者または著作権所有者は、契約、不法行為またはその他の行為であろうと、本ソフトウェアまたはその使用またはその他の取引に起因、または関連するいかなる請求、損害またはその他の責任に対しても責任を負うものではありません。

コメントを残す

メールアドレスが公開されることはありません。