node.js找不到模块'./lib/compat'

时间:2015-06-06 18:26:03

标签: javascript node.js

我正在使用node.js在Ubuntu服务器上运行JavaScript代码 我收到了这个错误。

module.js:340
    throw err;
          ^
Error: Cannot find module './lib/compat'
    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> (/usr/lib/nodejs/node_modules/express/node_modules/depd/index.js:11:24)
    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 Module.require (module.js:364:17)

如何调试此错误?

编辑:使用这些依赖项。

var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');

2 个答案:

答案 0 :(得分:6)

问题不是直接在您的代码中,而是在您正在使用的其中一个模块的依赖项中。您可以在错误消息的这一行看到它:

    at Object.<anonymous> (/usr/lib/nodejs/node_modules/express/node_modules/depd/index.js:11:24)

express模块有一个名为depd的依赖项,它是遇到问题的模块。

你是如何安装模块的?

安装快速时,可能存在一些问题。

文件夹lib/compatdirectly part of depd,因此没有理由错过。

您可能需要执行以下操作:

npm uninstall express
npm install express --save

这会重新安装快递,希望能解决问题。

答案 1 :(得分:5)

即使在跑步后问题仍然存在:

npm uninstall express
npm install express --save

如果发生这种情况,请删除node-modules文件夹,然后运行:

npm install express

npm install

重新安装packages.json

中列出的所有软件包