Git 如何将nodejs撤回到特定版本的V8?
我想使用与我们在其他地方使用的当前版本的v8兼容的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
> 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文件alldeps/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兼容。如果它不能用源代码编译,它也不会与它的库链接。