Git 如何将nodejs撤回到特定版本的V8?

Git 如何将nodejs撤回到特定版本的V8?,git,node.js,v8,Git,Node.js,V8,我想使用与我们在其他地方使用的当前版本的v8兼容的nodejs版本 我查看了“那个”v8变更日志文件,它显示了 > 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文件all

我想使用与我们在其他地方使用的当前版本的v8兼容的nodejs版本

我查看了“那个”v8变更日志文件,它显示了

> 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文件all
deps/v8
更改为
path\u of_some\u v8

然后我做到了

cd path/to/node
gitk 
然后从gui中,我选择了
v8:update to 3.14.5.9
,并使用
mixed
将主分支重置为该提交。[这表示离开工作树并重置主分支]

然后,我使用
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构建什么节点?

git reset--mixed将保持工作目录中的文件不变(您实际构建的文件)。如果要使用reset,
git reset--hard
还将更改工作目录中的文件


我建议您执行
git签出
。这将使您进入一个分离的头部,不移动分支,并且仍然允许您在该点上查看/构建代码。请参阅,以获得关于分离头是什么的出色解释。

在构建节点时使用
--shared-v8
选项如何?@vinayr我不知道,您能告诉我如何操作吗?这是一个配置选项。查看此处了解更多详细信息。这里的示例-我没有使用共享库,重点是使节点与该版本的v8兼容。如果它不能用源代码编译,它也不会与它的库链接。