我一整天都在做这件事,尝试了很多不同的事情:
- 卸载节点并安装最新版本
- 使用设置为
2010, 2011, 2012, 2013, 2015
的--msvs_version=
标志 - 删除.node-gyp文件夹
- 将python路径添加到.npmrc,如下所示:
python=C:\Python27\python.exe
个 npm -g install npm@next
个- 运行
node-gyp rebuild
和node-gyp configure
- Robert Kehoe's guide之后
艰难时期
这个包是一个Electron/React应用程序,我正在运行Windows 10。npm install
的控制台输出为
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(514,5): error MSB8008: Specif
ied platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is sel
ected. [C:\Users\scheinerbock\Desktop\mpstudio\node_modules\mplib\build\addon.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\scheinerbock\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\scheinerbock\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\scheinerbock\Desktop\mpstudio\node_modules\mplib
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok
字符串
对于node-gyp rebuild
:
gyp:绑定。找不到gyp(cwd:C:\Users\scheinerbock\Desktop\mpstudio),同时尝试加载binding.gyp
我很好地出了我的驾驶室在这里,并会感谢任何建议或信息,除了解决方案。
7条答案
按热度按时间fd3cxomn1#
我正在使用macos Catalina 10.15.5,我遇到了同样的问题,所有上述解决方案都不适用于我。我可以通过跑步来解决这个问题
字符串
希望这对人们有帮助。
kg7wmglp2#
创建一个binding.gyp文件,并将其放在项目根目录下。文件的内容如下所示:
字符串
binding.gyp
文件以类似JSON的格式描述构建模块的配置。这个文件被放在你的包的根目录下,和package.json一起。参见此处:https://github.com/nodejs/node-gyp#the-bindinggyp-filecwdobuhd3#
确保你已经安装了python2.x版本&而不是3.x。对我来说,在我安装了python2.6之后,它还能工作。
3okqufwl4#
看this thread,也许会有帮助。
node-gyp使用Visual Studio在Windows上构建,所以我猜问题来自VS安装。
从这个路径(C:\Program Files(x86)\MSBuild)判断,它似乎需要一个较新的版本(可能是Visual Studio 2015,其中首次引入了MSBuild)。
nwsw7zdq5#
尝试将npm版本降级到v6:
字符串
或将节点版本降级到v12一起使用NVM
参考:https://github.com/nodejs/node-gyp/issues/508
ldioqlga6#
我尝试了很多方法,这一个似乎对我立即起作用。安装g和cmake,用命令'apt install make g',对于windows,我相信这些有他们的网站供下载。
第一个月|
https://sourceware.org/cygwin/ - for g++
(如果不在google上搜索gcc)我还没有在Windows上测试过这个,这对我来说在Linux上使用apt命令是有效的。
9udxz4iz7#
如果您在
Windows
上使用NVM
,您可以执行以下操作:在您的HOME用户->
binding.gyp
中创建以下文件c:/users/my-user/binding.gyp
然后这将是内容(在本例中,我的节点版本是14.21.2,但您可以将其替换为当前版本)。
字符串