我正在使用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 install
或安装缺少的内容npm update
。
更新:根据npmjs.org, “ merge-descriptors”是“ express”的依赖项。查看您的stacktrace显示您已全局安装了“ express”-因此您应该尝试npm update -g
如果那不能解决您的问题,您应该看看这个问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句