Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js npm安装失败,vs2015更新3出现错误C2373_Node.js_Visual Studio 2015_Npm_Node Gyp - Fatal编程技术网

Node.js npm安装失败,vs2015更新3出现错误C2373

Node.js npm安装失败,vs2015更新3出现错误C2373,node.js,visual-studio-2015,npm,node-gyp,Node.js,Visual Studio 2015,Npm,Node Gyp,在使用windows 10重新安装我的计算机后,使用Visual Studio 2015进行设置后,我在安装git存储库时遇到了以下错误: → npm安装在不同的项目上失败,原因如下: ... C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.c(34): error C2373: "__pfnDliNotifyHook2": [...] gyp ERR! build er

在使用windows 10重新安装我的计算机后,使用Visual Studio 2015进行设置后,我在安装git存储库时遇到了以下错误:

→ <代码>npm安装在不同的项目上失败,原因如下:

...
C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.c(34): error C2373: "__pfnDliNotifyHook2": [...]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\...\node_modules\buffertools
gyp ERR! node -v v4.4.7
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

此错误与
npm
node gyp
visualstudio 2015
有关,并且已在
节点中修复-gyp@3.4.0
,但npm仍然指向旧版本。在解决问题时,我可以提出以下建议:

  • 转到安装npm的文件夹,例如:
    C:\Program Files\nodejs\node\u modules\npm

  • 打开:
    package.json

  • bundleDependencies

  • 依赖项中的
    节点gyp
    的版本号提升到
    3.4.0

  • 在此目录中创建一个
    npm i
    ,以安装
    节点-gyp@3.4.0
    来解决问题

  • 相关的
    GitHub
    问题可在此处找到:


  • 另一种解决方案是运行

    SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL%
    
    在运行npm之前,请安装或更新npm:

    npm install npm -g
    

    当你说“转储条目”时,你是指添加还是删除?我没有删除它,但修复仍然有效。我还需要移除它吗?谢谢您可能希望更改回复的措辞,以使所有非英语母语人士和ditsy英语母语人士受益。这是为了完整性。请注意,在“正常”windows安装中,您需要UAC访问此文件,这可能需要启动带有“以管理员身份运行”选项的编辑器和终端,或者您将无法保存文件或运行
    npm install
    我也必须运行此命令才能使其正常工作:
    npm install-g rimraf
    您是否在运行npm install之前,在同一命令提示符实例中发出SET命令?是的,我在
    npm install
    之前设置了CL变量,之后的另一个问题是谢谢你的提示!(只需删除尾随的%CL%)`SET CL=-DDELAYIMP_unsecure_WRITABLE_HOOKS`在windows上使用git bash我使用了
    export CL=-DDELAYIMP_unsecure_WRITABLE_HOOKS
    成功(尽管我构建的
    ursa
    仍然失败,但windows上的节点gyp是一个难题)尽管我喜欢它给我的新输出格式,它没有消除这个错误。