nexe - nodeスクリプトをラッピングして実行ファイル化
nodeを使えばJavaScriptでローカルで動くコマンドなどを作ることが出来ます。これはとても便利で個人的にはよく使うのですが、そのためには予めnodeがインストールされていなければなりません。 もちろんバイナリでも配布されているのですが、インストールの手間は初回実行には相当大きいと言えます。そこで使ってみたいのがnodeスクリプトを実行ファイル化するnexeです。
nexeの使い方
nexeは他の同じようなソフトウェアと同じく、nodeの実行エンジンをスクリプトと一緒にするタイプのソフトウェアです。
コンパイルはこのように行います。
nexe -i ./ -o ./hello-world.nex -r 0.8.18
コンパイルのためにnodeのコンパイルまで行うので初回は時間がかかります。2回目以降は割合スムーズに実行ファイル化されます。
実際に実行してみた結果です。
$ ./hello-world.nex
started HTTP server on port 1337
nexe.js:37
http.createServer(function(req, res) {
^
TypeError: Cannot call method 'createServer' of undefined
at Array.call./Users/nakatsugawa/Downloads/nexe/examples/hello-world/index.js.http [as 0] (nexe.js:37:6)
at initModule (nexe.js:13:11)
at Array.forEach (native)
at nexe.js:22:8
at nexe.js:29:4
at NativeModule.compile (node.js:621:5)
at Function.NativeModule.require (node.js:589:18)
at Function.Module._load (module.js:297:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
今はモジュールの読み込み周りでエラーが出てしまうようです…(予め用意しておく必要がありそうです)。しかしこれがうまくいけばWebブラウザで動かすようなソフトウェアも簡単に配布できるようになりますね。
nexeはnode/JavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。