繁体   English   中英

使用node.js安装xml2json时出错

[英]Error while installing xml2json using node.js

我试图为node.js安装xml2json包但它给了我错误。

错误如下: 在此输入图像描述

我的系统配置如下:

node.js版本 - v5.4.1

npm版本 - 3.3.12

操作系统 - Windows 10 64位

python - 2.7.11(设置为环境变量)

安装microsoft windows sdk v7.1后,它给出了我的错误。

在此输入图像描述

添加package.json后,会给出错误。

在此输入图像描述

使用msbuild构建时必须显式指定Platform Toolset(由node-gyp rebuild触发)。 在运行npm之前尝试以下命令:

call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x64

请参阅下面的传递参数的含义,来自SetEnv.cmd用法

/ Release - 创建发布配置构建环境

/ x64 - 创建64位x64应用程序

补充说明

npm install xml2json需要使用Windows SDK来构建项目,同时使用MSBuild安装软件包。 您遇到的情况是Windows SDK配置与node所需的不兼容。

配置Windows SDK命令提示符窗口部分:

如果您没有Visual Studio 2010,则可以使用Windows SDK命令提示符窗口和SetEnv实用程序来配置应用程序构建设置。

所以我的建议是使用SetEnv实用程序来解决你的问题......

解决问题的其他方法

MSBuild使用VCTargetsPath属性,由于注册表缺少此密钥,因此无法找到该属性。

检查密钥是否存在并指向正确的路径

  1. 启动regedit Navigator到HKLM \\ SOFTWARE \\ Microsoft \\ MSBuild \\ ToolsVersions \\ WinSDKVersion
  2. 检查VCTargetsPath密钥。 值应为“$(MSBuildExtensionsPath64)\\ Microsoft.Cpp \\ WinSDKVersion \\”

如果密钥不存在或值错误,请通过以下步骤解决问题:

  1. 启动regedit Navigator到HKLM \\ SOFTWARE \\ Microsoft \\ MSBuild \\ ToolsVersions \\ WinSDKVersion
  2. 添加字符串键VCTargetsPath
  3. 将值设置为“$(MSBuildExtensionsPath64)\\ Microsoft.Cpp \\ WinSDKVersion \\”

WinSDKVersion == v4.0 (看起来像你的WinSDK版本的值),所以将WinSDKVersion替换为v4.0

我相信你需要设置VCTargetsPath环境变量。

看看这个问题的答案,有几种不同的方法。

通过执行类似的操作从命令行设置它可能是最简单的方法:

set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120"

确切的路径取决于您安装的Visual Studio的版本。

你必须稍微改变你的代码
而不是安装xml2json,安装xml-js
npm install --save xml-js

然后使用此代码将您的xml文件转换为json

let convert = require('xml-js');
let xml = require('fs').readFileSync('./testscenario.xml', 'utf8');

let result = convert.xml2json(xml, {compact: true, spaces: 4});
console.log(result);

它会工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM