node.js - 模块.js :338 throw err in node. js

标签 node.js

我正在使用 ubuntu,我正在尝试使用 nodejs 运行脚本,但出现此错误。

/home/bebz/Documents/test# node server.js
module.js:338
throw err;
      ^
Error: Cannot find module 'merge-descriptors'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/bebz/node_modules/express/lib/express.js:6:13)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

有什么问题?我在正确的目录中,我也尝试使用 root 运行它,但没有任何反应。

server.js 里面是

// get dependencies
var app = require("express")();

// handle request and response
app.get("/", function(req, res) {
    res.send({name:"Hello Wolrd"});
});

// initializing a port
app.listen( 5000);

一个简单的例子,只是为了表明 node.js 正在工作。

最佳答案

脚本似乎有一个未满足的依赖项 - 这意味着您必须先安装模块“merge-descriptors”。

脚本似乎也在使用“express”(并且“merge-descriptors”实际上看起来像“express”的依赖项)——因为这没有引发错误,一些依赖项似乎已经安装。

因此您可以尝试通过 npm installnpm update 安装缺少的那些。

更新:根据 npmjs.org “合并描述符”是“表达”的依赖项。查看您的堆栈跟踪表明您已全局安装“express” - 所以您应该尝试 npm update -g

如果这不能解决您的问题,您应该查看 this question .

关于node.js - 模块.js :338 throw err in node. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28377583/

相关文章:

javascript - 编译CoffeeScript

javascript - 正则表达式获取 HTML 中最后一个 </body> 标签

node.js - 如何修改现有的 java 应用程序以利用 nodejs 功能?

node.js - 使用 connect-mongo 时处理数据库错误

node.js - Ionic 3 Cordova android 构建未显示在平台文件夹中,权限错误

node.js - Facebook 聊天机器人帖子回调在 NodeJS 中没有正确的数据结构

javascript - 无法理解 Node.js 中的错误

javascript - 如何要求另一个模块中的一个模块使用事件发射器?

javascript - Express.js 中的默认路由

javascript - ES6 中 String.prototype.includes/contains 的区别? .has 呢?