我想使用与我们在其他地方使用的当前版本的 v8 兼容的 nodejs 版本。
我查看了“那个”v8 ChangeLog 文件,它显示了
> 2013-04-04: Version 3.17.16
>
> Stack trace API: poison stack frames below the first strict mode frame.
> (issue 2564)
所以我想恢复到使用这个或更早 v8 的 nodejs 版本。我将 node.gyp 文件全部更改deps/v8
为path_of_some_v8
.
然后我做了
cd path/to/node
gitk
然后从gui中我选择了v8: update to 3.14.5.9
master分支并将其重置为那个提交mixed
[其中说离开工作树并重置master]。
然后我使用重建节点,vcbuild.bat
但我收到类似的错误
type is ''unknown-type''
src\node_http_parser.cc(553): error C2664: 'v8::FunctionTemplate::New' : cannot
convert parameter 1 from 'void (__cdecl *)(const int)' to 'v8::InvocationCallb
ack' [C:\CEF\anand\chromium\chromium\src\node_2012\node\node.vcxproj]
Incompatible calling conventions for UDT return value
src\node_http_parser.cc(570): error C2660: 'node::NODE_SET_PROTOTYPE_METHOD' :
function does not take 3 arguments [C:\CEF\anand\chromium\chromium\src\node_201
2\node\node.vcxproj]
src\node_http_parser.cc(571): error C2660: 'node::NODE_SET_PROTOTYPE_METHOD' :
function does not take 3 arguments [C:\CEF\anand\chromium\chromium\src\node_201
2\node\node.vcxproj]
src\node_http_parser.cc(572): error C2660: 'node::NODE_SET_PROTOTYPE_METHOD' :
function does not take 3 arguments [C:\CEF\anand\chromium\chromium\src\node_201
2\node\node.vcxproj]
我恢复代码的方法是否正确?我应该用旧版本的 v8 构建节点吗?