3

我想使用与我们在其他地方使用的当前版本的 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/v8path_of_some_v8.

然后我做了

cd path/to/node
gitk 

然后从gui中我选择了v8: update to 3.14.5.9master分支并将其重置为那个提交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 构建节点吗?

4

1 回答 1

0

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

我建议做git checkout <commit>. 这使您进入一个分离的头脑,不会移动您的分支,并且仍然可以让您在那时查看/构建代码。请参阅https://stackoverflow.com/a/5772882/1049112以获得对分离头是什么的出色解释。

于 2014-02-20T17:40:24.007 回答