在Windows中使用node-gpy编译Node.js C++原生扩展时,需要使用Visual Studio C++的"msbuild.exe"。有时尽管Visual Studio安装运行正常,在调用node-gyp时仍会遇到找不到"msbuild.exe"的错误提示:

Error: Can't find "msbuild.exe". Do you have Mircrosoft Visual Studio C++ 2008+ instlled?

node-gpy在搜索"msbuild.exe"时,是通过查询Windows注册表,提取Visual Studio C++版本号来获取"msbuild.exe"安装路径。出现上述运行错误的原因之一就是node-gpy查询Windows注册表出现差错。node-gpy查询Windows注册表的脚本代码在

C:\Users\abc\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js

其中"abc"为当前用户名。 具体代码如下:

  function findMsbuild () {log.verbose('could not find "msbuild.exe" in PATH - finding location in registry')var notfoundErr = new Error('Can\'t find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed?')var cmd = 'reg  query "HKLM\\Software\\Microsoft\\MSBuild\\ToolsVersions" /s'

其中最后一行语句即为运行出错代码。如代码所示,node-gpy通过调用"reg.exe"查询Windows注册表。node-gpy的脚本代码中没有设置"reg.exe"路径。 "reg.exe"一般保存在'C:\\Windows\\System32\\'文件夹中,将这行代码做如下修改:

var cmd = 'C:\\Windows\\System32\\reg.exe query "HKLM\\Software\\Microsoft\\MSBuild\\ToolsVersions" /s'

node-gpy就能获取"msbuild.exe"的安装路径。

处理使用node-gpy时遇到的Can't find msbuild.exe错误相关推荐

  1. 解决:控制台使用nvm控制node版本时出现exit status 1与exit status 145

    解决:控制台使用nvm控制node版本时出现exit status 1与exit status 145 在搭建项目时,出现如图所示的问题: 原因: status 1是因为权限不足 status 145 ...

  2. 编写Node.js时出现800A138F的错误

    编写Node.js时出现800A138F的错误 运行Node.js 文件时,出现800A138F这样的错误的解决方法. 第一个:在你要运行的node.js文档之前添加node命令. 如: 第二个:对项 ...

  3. x-http-wrapper: 如何解决每次发版时,修改http相关代码造成的错误!(Android、iOS、h5)...

    其实是我做了个开源工具(^__^),拿出来给大家鉴赏下,欢迎大家提意见 项目:github.com/xuyt11/x-ht- 欢迎关注和star . 功能:这是一个http相关代码的创建工具. 现在我 ...

  4. Android问题-DelphiXE5编义时提示找不到“连接器(arm-linux-androideabi-ld.exe)

    问题现象:DelphiXE5编义时提示找不到"连接器(arm-linux-androideabi-ld.exe)" 问题提示: Checking project dependenc ...

  5. 安装kilo版本openstack-dashboard时出现的python compress command not found错误解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 安装openstack-dashboard时出现的python compress command not found错误解决办 ...

  6. 进程在与Windows Process Activation Service通信时出现严重错误 w3wp.exe错误

    标题是两个问题  出现时间是一样的  先有进程在与Windows Process Activation Service通信时出现严重错误  然后事件查看器里就会出现w3wp.exe错误 问题的后果就是 ...

  7. 打开表时提示 Out of resources when opening file......错误解决

    今天在使用Navicat打开数据库表时提示23-out of resources when opening file-错误. 后来到网上查查找到了原因 在mysql配置文件 my.cnf 中 找到 o ...

  8. 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。...

    在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误信息:   访问被拒绝:"[某程序集名]". 碰到这种错误后,就去喝杯茶, ...

  9. 运行程序中的服务器错误是什么,登陆一个网站时,出现“/”应用程序中的服务器错误要怎么解决啊?? 爱问知识人...

    登陆一个网站时,出现"/"应用程序中的服务器错误.要怎么解决啊?求高手帮我解决,谢谢啦!输入字符串的格式不正确. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟 ...

最新文章

  1. 在Ubuntu 16.0.4.5 LTS上安装python 2.7版本的cv2模块
  2. C++巧用do...while(0)
  3. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
  4. 计算某一段程序消耗的内存和时间【Java】
  5. 从.Net框架Bug的提交到修复代码成功合并到.NET CoreFX主线
  6. 某些小时后MySql连接自动掉线
  7. python自带的shell、其性能优于ipython吗_根据强化的性质和目的可以分成()。 A.自然强化物和人为的近似强化物B.积极强化和消极...
  8. Pandas 中的这 3 个函数,没想到竟成了我数据处理的主力
  9. 小学阅读方法六种_小学语文重难点|阅读理解的解答技巧+方法(合集)
  10. 目前web渗透的思路
  11. matlab 排序函数sort()
  12. jQuery 已经落幕了~
  13. 在正式使用计算机账务系统的银行对账功能,会计电算化账务处理系统中,银行对账的功能有哪些? 爱问知识人...
  14. Debian查看系统版本信息
  15. 中国数字商业核心产业链分布
  16. mysql中SQL语句查询表字段名、注释、字段类型
  17. linux下ftp搭建流程
  18. 动物模型系列之常见肿瘤动物模型
  19. linux超神之旅二
  20. 基于SparkSql的日志分析实战

热门文章

  1. 灵创系统服务器,服装ERP-灵创软件-ICSCM供应链管理系统
  2. 读史蒂芬·柯维的《高效能人士的七个习惯》有感
  3. Redis安装与常用命令整合
  4. 美国6岁病童圆梦做一天海豹突击队员
  5. java毕业生设计医疗健康管理平台会员管理子系统计算机源码+系统+mysql+调试部署+lw
  6. 【刷题日记】leetcode-1178 猜字谜
  7. 登录鉴权、JWT、单点登录
  8. Submarine:在 Apache Hadoop 中运行深度学习框架
  9. 潇洒郎:Python 在windows 下使用Redis
  10. [CTF]SCTF2021 WEB复现(详细版)