所以,我得到了臭名昭着的错误:
module.js:340
throw err;
^
Error: Cannot find module '/home/bc/projects/nodejs/pg-connect.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
这是导致它的2行源:
var pg = require('pg');
console.log("Hello world!");
在这里寻求帮助之前,我尝试了几件不起作用的事情:
1)我尝试将其设置为绝对路径,在我的情况下:
var pg = require(/home/bc/node_modules/pg);
2)我尝试将上述目录复制/粘贴到我的项目目录中。
3)我尝试使用以下方式在本地安装模块:
npm install pg
然而,它安装在路径/hone/bc/node_modules
我不知道还有什么可以尝试让它发挥作用。
答案 0 :(得分:0)
正如我在评论中提到的,您似乎已经成功安装了该模块,但位置错误。
快速解决方法是将HOMEDIR/node_modules
的内容复制到CURRENTDIR/node_modules
。
然后你应该能够
var pg=require('pg');
找到"要求的"模块,Node将检查当前目录中的模块目录,不明确地命名为" node_modules",如果找不到那里的模块,Node将向上移回目录路径,直到它找到包含该模块的node_modules目录。必需的模块或它击中根。因此,假设您当前的目录是/home/bc/projects/nodejs
,Node将在以下目录中查找pg
模块(按顺序):
/home/bc/projects/nodejs/node_modules/pg
/home/bc/projects/node_modules/pg
/home/bc/node_modules/pg
/home/node_modules/pg
/node_modules/pg