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 風なので
python
、make
および 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 addonclean
build
ディレクトリがあれば削除するconfigure
現在のプラットフォーム用のプロジェクトビルドファイルを生成する rebuild
“クリーン” を実行します。 「configure” と “build” を連続して行う install
与えられたバージョンのノード開発ヘッダーファイルをインストールする list
現在インストール中のノード開発ファイルのバージョンをリストアップする remove
指定されたバージョンのノード開発用ヘッダーファイルを削除する ライセンス
(The MIT License)
コピーライト (c) 2012 Nathan Rajlich <[email protected]>
ここに許可する。 本ソフトウェアおよび関連文書ファイル(以下「本ソフトウェア」)のコピーを入手した者は、以下の条件に従い、本ソフトウェアの使用、コピー、変更、結合、出版、配布、サブライセンス、および/または本ソフトウェアのコピーの販売、および本ソフトウェアを提供する相手にそれを許可する権利を含むがそれに限定されない、無制限の取引を無償で行えるものとする。
上記の著作権表示およびこの許諾表示は、本ソフトウェアのすべてのコピーまたは重要な部分に含まれるものとします。
本ソフトウェアは「現状のまま」提供され、商品性、特定目的への適合性および非侵害の保証を含むがこれに限定されない、明示または黙示のいかなる保証もありません。いかなる場合も、著者または著作権所有者は、契約、不法行為またはその他の行為であろうと、本ソフトウェアまたはその使用またはその他の取引に起因、または関連するいかなる請求、損害またはその他の責任に対しても責任を負うものではありません。
-