我在以下版本的Linux上使用Node v 4.4.2

[davea@mydevbox mydir]$ uname -a
Linux mydevbox.mydomain.com 1.1.2-45.38.amzn1.x86_64 #1 SMP Wed Mar 16 17:15:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

我从tarball安装了node版本。运行脚本时出现此错误
[davea@mydevbox mydir]$ node myscript.js
Validation Complete
module.js:327
    throw err;
    ^

Error: Cannot find module './namegen.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/davea/Automate-04-01-2016/js/Optimus.js:6:10)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)

我很困惑这意味着什么,但更困惑的是我需要做什么来解决它。谢谢你的建议,-戴夫
编辑:我试着用你建议的方法安装模块,但是得到了同样的错误。查看安装和重新运行我的脚本的输出
[davea@mydevbox ~]$ npm install namegen
[email protected] node_modules/namegen
[davea@mydevbox ~]$
[davea@mydevbox ~]$ cd mydir
[davea@mydevbox mydir]$ node myscript.js
Validation Complete
module.js:327
    throw err;
    ^

Error: Cannot find module './namegen.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/davea/mydir/js/Optimus.js:6:10)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)

最佳答案

是否检查了节点模块的namegen模块?它是用这个目录名创建的。同时查找https://www.npmjs.com/package/namegen,此模块没有文档,并且提供的github源链接已断开。
必须手动安装此模块才能修复此错误:

npm install namegen

如果要将其添加为devDependency,请添加-D标志。
错误的意思是,在代码中的某个地方,您的had line require('namegen')和“namegen”模块没有作为依赖项的一部分找到。
完成安装后,启动package.json所在的工作目录node。在REPL模式下运行以下代码:
require('namegen').toString();

您应该看到要使用的namegen包的代码。
如果使用require('./namegen')引用包,则该操作将不起作用。你应该把它改成require('namegen')

09-16 15:54