Node.JS无法找到模块' xml2js' (视窗)

时间:2014-05-13 07:58:54

标签: node.js xml-parsing

操作系统:Windows 7 64位

需要使用Node.js解析xml文件。

使用库解析xml2js

使用命令" npm install xml2js"安装Xml2j。


但是,如果您运行代码:

var fs = require ('fs'), xml2js = require ('xml2js'); 

var parser = new xml2js.Parser (); 
fs.readFile ('<path to the xml-file>', function (err, data) {
     parser.parseString (data, function (err, result) {
         console.dir (result); 
         console.log ('Done'); 
     }); 
});

错误:

module.js:340
    throw err;
          ^
Error: Cannot find module 'xml2js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (<путь до js-файла>:3:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

请告诉我,如何解决问题?

3 个答案:

答案 0 :(得分:6)

我也面临同样的问题。我在这里做了什么 使用以下命令安装模块
$ npm install -g module_name

然后转到项目目录的任何父目录(它可以是项目目录)并运行以下命令
$ npm链接 module_name

如需更多信息,请check

答案 1 :(得分:5)

确保目录./node_modules/xml2js存在。

当您在npm install somemodule处运行D:/test时,它会存储到D:/test/node_modules/somemodule,然后您可以在D:/test/*.js中要求此模块,并且您不能在D:/other/place/*.js处要求此模块{1}}。如果您希望在任何地方都可以运行该模块:

npm install somemodule -g

答案 2 :(得分:1)

我有类似的问题,甚至尝试过Lellansin提到的修复,但它没有帮助。 npm缓存存在一些问题,我不得不使用命令清除它:

npm cache clean

它对我有用。