hello world上的node-gyb构build错误

我正在尝试编译节点hello world插件 ,当我调用node-gyp configure build它会生成几个错误。

 ../binding.cc:6:19: error: unknown type name 'FunctionCallbackInfo' void Method(const FunctionCallbackInfo<Value>& args) { ^ ../binding.cc:6:39: error: expected ')' void Method(const FunctionCallbackInfo<Value>& args) { ^ ../binding.cc:6:12: note: to match this '(' void Method(const FunctionCallbackInfo<Value>& args) { ^ ../binding.cc:8:15: error: no matching constructor for initialization of 'v8::HandleScope' HandleScope scope(isolate); ^ ~~~~~~~ /***/***/.node-gyp/0.10.36/deps/v8/include/v8.h:473:3: note: candidate constructor not viable: no known conversion from 'v8::Isolate *' to 'const v8::HandleScope' for 1st argument HandleScope(const HandleScope&); ^ /****/***/.node-gyp/0.10.36/deps/v8/include/v8.h:448:3: note: candidate constructor not viable: requires 0 arguments, but 1 was provided HandleScope(); ^ ../binding.cc:9:3: error: use of undeclared identifier 'args' args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world")); ^ ../binding.cc:9:37: error: no member named 'NewFromUtf8' in 'v8::String' args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world")); 

可能是什么问题?

问题是这个例子假设你正在运行Node 0.12,但是你正在运行Node 0.10(0.10.36)。 在节点0.12中构build插件的方式有很大的(后向不兼容的)变化。

这是0.10兼容版本: https : //github.com/joyent/node/blob/aa35564ca1c9f3854bc5f7983f2f00cb51f67ffe/test/addons/hello-world/binding.cc

一个很好的包将处理Node版本之间的许多差异是nan