当我运行npm install
时,我遇到以下错误。我无法找到问题所在。
我需要一些帮助才能找到这个问题。
d:\testing\node-sample-module\node_modules\ffi\node_modules\ref\node_modules\nan\nan_implementation_pre_12_inl.h(112): error C2668: 'v8::FunctionTemplate::New' : ambiguous call to overloaded function [d:\TESTING\node-sample-module\node_modules \ffi\node_modules\ref\build\binding.vcxproj]
C:\Users\SELVA\.nw-gyp\0.8.5\deps\v8\include\v8.h(3344): could be 'v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::FunctionCallback,v8::Handle<v8::Value>,v8::Handle<v8::Signature>,int)'
C:\Users\SELVA\.nw-gyp\0.8.5\deps\v8\include\v8.h(3343): or v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::InvocationCallback,v8::Handle<v8::Value>,v8::Handle<v8::Signature>,int)' while trying to match the argument list '(int, v8::Local<v8::Value>, v8::Local<v8::Signature>)'
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (c:\Users\SELVA\AppData\Roaming\npm\node_modules\nw-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "c:\\Users\\SELVA\\AppData\\Roaming\\npm\\node_modules\\nw-gyp\\bin\\nw-gyp.js" "clean" "configure" "--target=0.8.5" "build" "--arch=ia32"
gyp ERR! cwd d:\TESTING\node-sample-module\node_modules\ffi\node_modules\ref
gyp ERR! node -v v0.10.35
gyp ERR! nw-gyp -v v0.12.4
gyp ERR! not ok
仅供参考,我使用的是Windows 7机器。
另外,安装以下内容:
Visual C ++ Redistributable 2013(32位)
Python 2.7.3(env变量设置为path / python.exe)
Visual Studio Express 2013
.Net framework 4.5 SDK
先谢谢。
答案 0 :(得分:16)
<强>更新强>
新的套餐现在将为我们完成所有这些。
通过运行以下内容确保您拥有足够的权限:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
然后运行:
npm install -g windows-build-tools
等待它安装然后运行:
window-build-tools
一切都应该是最好的。
旧回答:
我刚刚遇到了一些和你一样的问题。我在Hyper-V中完成了Windows 8.1的全新安装,完成了安装过程并记下了很长时间。您似乎已安装了所有必要的工具。
我认为唯一认为你可能会丢失(尽管不完全确定)可能是在运行msvs_version
时设置npm install
- 标志 - 所以试着看看这是否有帮助:
npm install --msvs_version=2013
既然我已经完成了所有这些笔记,我可能会把它们放在这里,所以遇到同样问题的人可能会找到一些帮助。
我在新安装的机器上的食谱:
1)安装Node.js
2)安装git
选择“从Windows命令提示符使用Git和可选的Unix工具
”3)将npm升级到npm 3.x.x (可选步骤)
即使你刚刚安装了Node.js,也不一定意味着你在版本3中有npm。
npm install -g npm-windows-upgrade
。Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm-windows-upgrade
npm --version
后,确保其响应3.x.x
4)安装Python 2.7.x
Install for all users
- 点击下一步。选择安装在C:\Python27
- 点击下一步
请务必在Will be installed on local hard drive
中选择Add python.exe to Path
- 点击下一步
完成安装
5)使用Update 4安装适用于Windows桌面的Visual Studio Express 2013
即使您的系统上安装了其他版本的Visual Studio,也要安装它。
English
或其他可用语言,然后点击Download
wdexpress_full.exe
,然后点击“下一步”现在运行npm install --msvs_version=2013
,您应该可以在没有node-gyp抛出错误的情况下到达终点。
答案 1 :(得分:1)
对我来说,这是因为我运行的是节点 14。尝试将节点版本降级到节点 12。如果您使用的是 NVM,这很容易做到
答案 2 :(得分:0)
对于我来说,在Windows 10和Node 13上,我必须卸载Visual Studio和Build Tools,再卸载Node13。然后,从漫游中删除了npm和npm-cache,然后重新安装Node 11.6并选择安装Chocolately。此后对我有用。