找不到 `mysql` 模块 node.js。

37

我是一个Node.js的新手。为了连接MySQL,我使用以下命令在Node上安装了mysql

npm install mysql

我在安装时没有遇到任何错误。然后,我尝试执行以下代码:

var mysql = require("mysql");

但是当我尝试执行时,它显示了以下错误。
C:\node\mysql>node app.js

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> (C:\node\mysql\app.js:1:75)
    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)

我尝试了一些建议,例如使用全局安装mysql,

npm install -g mysql

但是什么都不起作用,请帮忙!!!

请注意我的工作环境,

操作系统:Windows7 Node 版本:0.10.15 NPM 版本:1.3.5


2
你是从运行 npm install mysql 的同一目录下运行脚本的吗? - Morgan ARR Allen
另外,使用“npm install -g”是全局安装。 - Morgan ARR Allen
@MorganARRAllen 如何在同一目录下运行它? - Stranger
1
尝试从与app.js相同的目录中运行npm ls。这将列出为该项目安装的npm模块。 - Jaime Morales
@JaimeMorales 它显示mysql@2.0.0-alpha8 ── bignumber.js@1.0.1 ── require-all@0.0.3在树下面 - Stranger
@Udhay,当您进入该目录中的节点REPL并键入var mysql = require('mysql')时,是否会出现相同的错误? - Jaime Morales
16个回答

0

进入主目录下的 /node_modules 文件夹,并通过以下命令安装 mysql:sudo npm install mysql

这将在 /node_modules 文件夹中创建一个名为 mysql 的文件夹。

现在,在主文件夹中使用 node app.js 命令运行您的应用程序。它应该可以工作并与 mysal 服务器建立连接。


0

这对我有用

  • 进入您的项目文件夹
  • 运行以下命令:npm install mysql

0

我遇到了同样的错误,只需要运行一下

npm install

会修复问题。有时由于某些原因,mysql包已损坏、删除或丢失,只需运行上面的命令即可修复所有问题。


0
如果使用 package.json,只需添加以下内容并在项目中运行 "npm install"。
{ "dependencies": { "mysql": "2.12.0" } }

0

npm install MySQL --save

这是因为您的包中尚未安装MySQL。您正在导入此内容,但在系统环境中尚未安装MySQL。


-1

我发现如果你在没有在package.json中定义依赖项的情况下运行npm install,就会出现这种情况...

...
"author": "Author",
"dependencies" : {
     "mysql": "2.12.0",    
},
"license": "ISC"
...

定义依赖关系..然后运行

npm install

npm install mysql --save 会为您添加此依赖项,而无需手动编辑文件。 - Liam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接