我是node.js的新手,并试图学习它。
在这里,我试图访问nodejs中的mySQL数据库。
我使用npm install mysql
为此安装模块,但我没有在node_modules
文件夹中获取任何mysql文件夹。
但是从终端安装mysql模块时我没有收到任何错误。
因为这个问题,我无法在程序中使用mysql模块而且我收到错误
module.js:340
throw err;
^
Error: Cannot find module 'mysql'
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> (/opt/lampp/htdocs/1nodeapp/mysql.js:4:12)
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 Function.Module.runMain (module.js:497:10)
答案 0 :(得分:7)
通常,在您的目录中获取package.json并从那里安装会很有帮助。尝试创建一个名为package.json
的文件,并使用以下内容填充它(如果您要创建一个您将继续使用的节点项目,那么无论如何您都希望这样做):
{
"name": "PROJECT NAME",
"version": "0.0.1",
"author": "YOUR NAME",
"dependencies": {
"mysql": "2.x.x"
}
}
一旦到位,您就可以运行npm install
,并且应该看到创建了node_modules
文件夹并填充了mysql源代码。将来,如果您想要添加依赖项并将其自动保存到package.json
,则可以运行npm install whatever --save
。很方便!
答案 1 :(得分:0)
当您尝试安装新模块时,npm正在当前位置查找node_modules
目录,如果没有,则查找父目录,依此类推。
如果node_module
出现在某处,那么您的模块将安装在那里。
这可能就是你的情况。
如果要在当前目录中安装mysql模块,只需创建要安装它的空node_modules
目录。