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

时间:2013-09-02 05:03:46

标签: git node.js v8

我想使用与我们在其他地方使用的当前版本的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并使用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构建节点?

1 个答案:

答案 0 :(得分:0)

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

我建议你做git checkout <commit>。这会使您进入一个独立的头部,不会移动您的分支,并且仍然允许您在该点查看/构建代码。有关分离头部的详细解释,请参阅https://stackoverflow.com/a/5772882/1049112