使用node.js安装xml2json时出错

时间:2016-01-21 05:16:24

标签: node.js npm windows-10

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

错误如下:enter image description here

我的系统配置如下:

node.js version - v5.4.1

npm版本 - 3.3.12

操作系统 - Windows 10 64位

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

安装微软windows sdk v7.1后,它给出了以下错误。

enter image description here

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

enter image description here

3 个答案:

答案 0 :(得分:2)

使用 msbuild (由node-gyp rebuild触发)构建时,必须明确指定平台工具集。在运行npm

之前,请尝试以下命令
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x64

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

  

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

     

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

其他说明

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

Configuring the Windows SDK Command Prompt Window部分:

  

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

所以我的建议是使用 SetEnv 工具来解决您的问题...

解决问题的其他方法

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

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

  1. 启动regedit Navigator HKLM \ SOFTWARE \微软\的MSBuild \ ToolsVersions \的 WinSDKVersion
  2. 检查VCTargetsPath密钥。该值应为" $(MSBuildExtensionsPath64)\ Microsoft.Cpp \ WinSDKVersion \"
  3. 如果密钥不存在或值不正确,请按以下步骤解决问题:

    1. 启动regedit Navigator HKLM \ SOFTWARE \的Microsoft \的MSBuild \ ToolsVersions \的 WinSDKVersion
    2. 添加字符串键 VCTargetsPath
    3. 将值设置为" $(MSBuildExtensionsPath64)\ Microsoft.Cpp \ WinSDKVersion \"
    4. WinSDKVersion == v4.0 (看起来像你的WinSDK版本的价值),所以将 WinSDKVersion 替换为 v4.0

答案 1 :(得分:1)

我认为你需要设置VCTargetsPath环境变量。

看看this question的答案,有几种不同的方法。

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

awk '/^>/{gsub(/^>/,">Seq"i++" ");}1' i=1 file

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

答案 2 :(得分:0)

您必须稍微更改一下代码
代替安装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);

它将起作用