node.js で proto ファイルを試してロードするために使用した手順は次のとおりです。全体として、プロトコル バッファを node.js で動作させるにはどうすればよいですか?
1) プロトコル バッファをこの場所にダウンロードしてインストールします。
/home/ubuntu/Downloads/protobuf-2.4.1
2) この repo からこの protobuf-for-node 修正をダウンロードしました。このフォルダーを、node.js アプリ フォルダーの node_modules フォルダーに配置します。
git://github.com/pzgz/protobuf-for-node.git
3)次のコマンドを実行しました
cd node_modules/protobuf-for-node
PROTOBUF=~/Downloads/protobuf-2.4.1 /usr/local/bin/node-waf configure clean build
4) 次のファイルをこれらの場所に移動しました。
cp node_modules/protobuf-for-node/protobuf_for_node.h /usr/local/include/node
cp node_modules/protobuf-for-node/build/Release/protobuf_for_node_lib.so /usr/local/lib
5) 以下を実行して、node.js に同梱されている feeds.proto サンプルをビルドしました。
cd node_modules/protobuf-for-node/example
protoc --descriptor_set_out=feeds.desc --include_imports feeds.proto
6) アプリで、この行を追加しました。
var express = require('express'), routes = require('./routes');
var fs = require('fs');
var puts = require('util').puts;
url = require('url');
moment = require('moment');
var uuid = require('node-uuid');
var app = module.exports = express.createServer();
var Schema = require('protobuf_for_node').Schema;
var schema = new Schema(fs.readFileSync('/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/protobuf-for-node/example/feeds.desc'));
7) これが私のエラーです。
module.js:337
throw new Error("Cannot find module '" + request + "'");
^
Error: Cannot find module 'protobuf_for_node'
at Function._resolveFilename (module.js:337:11)
at Function._load (module.js:279:25)
at Module.require (module.js:359:17)
at require (module.js:375:17)
at Object.<anonymous> (/home/ubuntu/app.js:9:14)
at Module._compile (module.js:446:26)
at Object..js (module.js:464:10)
at Module.load (module.js:353:31)
at Function._load (module.js:311:12)
at Array.0 (module.js:484:10)