我们在项目中运行" npm install" 时遇到问题。无法找到某个文件:
*
它似乎来自 node-gyp 模块:
C:\程序 文件\的NodeJS \ node_modules \故宫\ node_modules \节点GYP的\ src \ win_delay_lo ad_hook.c(13):
致命错误C1083:无法打开包含文件:' windows.h':没有成功 文件或目录 [d:\ NGS-前端-下\ node_modules \浏览器同步\ node_module 小号\ socket.io \ node_modules \ engine.io \ node_modules \ WS \ node_modules \ bufferutil \ BUIL d \ binding.sln]
这个节点gyp似乎是我们痛苦的永无止境的源头。起初它抱怨它需要python,所以我们安装了它。然后它抱怨它需要VCBuild,我们安装(使用.NET 2.0 SDK),现在我们有这个错误。这几乎就像错误变得越来越模糊,感觉我们正在走错路。
奇怪的是,我们团队中的其他人在运行npm-install时没有任何问题。
完整错误如下所示:
C:\程序 文件\的NodeJS \ node_modules \故宫\ node_modules \节点GYP的\ src \ win_delay_lo ad_hook.c(13):
致命错误C1083:无法打开包含文件:' windows.h':没有成功 文件或目录 [d:\ NGS-前端-下\ node_modules \浏览器同步\ node_module 小号\ socket.io \ node_modules \ engine.io \ node_modules \ WS \ node_modules \ bufferutil \ BUIL d \ binding.sln]
gyp ERR!构建错误gyp ERR!堆栈错误:
fatal error C1083: Cannot open include file: 'windows.h'
失败了 退出代码:ChildProcess.onExit(C:\ Program)的1个堆栈 文件\的NodeJS \ node_modules \故宫\节点 _modules \ node-gyp \ lib \ build.js:270:23)gyp ERR!堆栈在emitTwo(events.js:87:13)gyp ERR!在ChildProcess.emit堆栈 (events.js:172:7)gyp ERR!堆栈在 Process.ChildProcess._handle.onexit(internal / child_proces s.js:200:12)gyp ERR!系统Windows_NT 6.1.7601 gyp ERR!命令 " C:\ Program Files \ nodejs \ node.exe" " C:\ Program Files \ nodej 小号\ node_modules \ NPM \ node_modules \节点-GYP \ BIN \节点gyp.js" "重建" gyp ERR! CWD d:\ NGS-前端,未来\ node_modules \浏览器同步\ node_modules \插座。 io \ node_modules \ engine.io \ node_modules \ ws \ node_modules \ bufferutil gyp 呃! node -v v4.2.2 gyp ERR! node-gyp -v v3.0.3 gyp ERR!不行,没关系 WARN可选dep失败,继续utf-8-validate@1.2.1gifsicle@3.0.3 postinstall D:\ ngs-frontend-next \ node_modules \ gulp-imagemin \ nod e_modules \ imagemin \ node_modules \ imagemin-gifsicle \ node_modules \ gifsicle node lib / install.js
Out pacakge.json 看起来像这样:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
答案 0 :(得分:12)
错误消息对我造成了混乱,并没有帮助我完全解决错误。
README.md项目的node-gyp可以更好地列出Unix,Max OS X和 Windows 的安装说明。
在 Windows 系统中,您可以使用选项1或选项2,但主要是您需要安装Visual C++ Build Tools。
以下引用来自 Windows 安装部分:
- 在Windows上:
- Visual C ++构建环境:
- 选项1:使用“默认安装”选项安装Visual C ++生成工具。
- 选项2:安装Visual Studio 2015(或修改现有安装)并在安装过程中选择 Visual C ++的通用工具。这也适用于免费的社区和Express for Desktop版本。
[仅限Windows Vista / 7]需要.NET Framework 4.5.1- 安装Python 2.7(不支持 v3.x.x ),并运行
(或参阅下面有关指定正确的Python版本和路径的进一步说明。)npm config set python python2.7
- 启动cmd,
npm config set msvs_version 2015
如果上述步骤对您不起作用,请访问Microsoft的Node.js Windows指南以获取更多提示。
Python配置的常用说明:
如果您安装了多个Python版本,则可以通过设置'--python'变量来识别node-gyp使用的Python版本:
$ node-gyp --python /path/to/python2.7
如果通过npm调用node-gyp并且你安装了多个版本的Python,那么你可以将npm的'python'配置键设置为适当的值:
$ npm config set python /path/to/executable/python2.7
按照上述说明成功配置了我的系统。
系统信息
λ ver
Microsoft Windows [Version 6.1.7601]
λ node -v
v6.2.0
λ npm -v
3.9.2
相关工具/文章的链接:
答案 1 :(得分:5)
尝试使用--force option
重新安装:
npm install --force
如果这不起作用,请尝试全局更新npm:
npm update -g npm
并使用--force
选项重试。
答案 2 :(得分:3)
我最后一次看到类似的错误是因为我使用了错误版本的npm
和/或node
作为我的一个依赖项。尝试升级这些并重试。
再次尝试删除node_modules
目录之前。
您可能需要调查您的依赖项所需的npm
和node
版本。您可以尝试所有依赖项的最新版本,node和npm。
检查您的同事使用的版本。
您使用的操作系统是什么?这可能会产生影响,因为CLANG的版本可能会有所不同。
答案 3 :(得分:3)
安装VC ++ Build Tools Technical Preview [仅限Windows 7]需要.NET Framework 4.5.1
安装Python 2.7,并将其添加到您的PATH,npm config set python python2.7
启动cmd,npm config set msvs_version 2015 --global(这不是每次npm install [包名] --msvs_version = 2015。)
4.很多npm安装:tada:
答案 4 :(得分:2)
我尝试了上述所有解决方案,但没有一个奏效。我的问题是我必须删除根目录中的一些文件:
package-lock.json
和 yarn.lock
和 yarn-error.log
删除这些文件后,我运行:
npm cache clean --force
然后我运行命令:
npm install
错误消失了
答案 5 :(得分:1)
为此解决了它(OS X):
rm -rf ~/.node_gyp and
sudo npm install -g node-gyp@3.4.0
cd /usr/local/lib sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib
brew install gcc
npm install
答案 6 :(得分:1)
在此处发布我的解决方案,以防任何像我这样的人使用 Windows 10 在安装许多Microsoft关联的构建工具后仍然出现错误。
您所需要的只是:
Windows 10 64位
python 2.7.x
我之前尝试过Visual Studio 2015,但它根本不起作用。
首先,我卸载所有与Microsoft相关的构建工具。 (如果您之前没有安装任何试图解决此问题的任何内容,请跳过此步骤。)
安装Visual Studio 2013。
配置npm为@Sourav说:
配置python:
npm config set python /path/to/python2.7
配置msvs_version:
npm config set msvs_version 2013
运行npm install
或发生此错误的npm命令。这个对我有用!
顺便说一下,此解决方案来自here。
答案 7 :(得分:1)
基于 node-gyp自述文件,更新npm <div class="container">
<h1>
A home is made of
<p><i>hopes</i> and <i>dreams</i></p>
<p>Let us <i>inspire</i> you to build the perfect home!</p>
</h1>
<br>
</div>
<div class="buttons-row">
<a href="/login " class="btn grad1" style="margin-right:20px; font-size:20px; "><b>{{ __('LOGIN') }}</b></a>
<a href="/register" class="btn grad1" style="margin-left:20px; font-size:20px;"><b>{{ __('SIGN UP') }}</b></a>
</div>
,并将引入新版本的node-gyp。
提示:如果您在 windows 上,请从提升的PowerShell或CMD.exe(以管理员身份运行)中执行npm i npm -g
。
答案 8 :(得分:0)
对于Windows 8或10:
假设已经安装了node和npm。
我的节点和npm版本(在撰写本答案时):
节点:8.9.4
npm:5.6.0
首先安装python 2.x
确保路径
安装后,运行
答案 9 :(得分:0)
嘿,请尝试安装windows build tools(全局npm软件包)
这将解决您的问题:-) 之后,您应该可以使用npm install命令。
答案 10 :(得分:0)
我在我的项目中遇到了类似的问题。就我而言,删除 package-lock.json
文件并让它重新创建有帮助。
答案 11 :(得分:0)
如果您使用“node-sass”,请将其升级到版本 5.0.0,确保您已安装构建工具 2017 和 Python 3,并在 npm install 之前发出这些命令
npm config set msvs_version 2017
npm config set python npm config set python C:\Users\username\AppData\Local\Programs\Python\Python39\python.exe
答案 12 :(得分:0)
我刚跑
> yarn install
它奏效了。