找不到模块“mysql”node.js

Posted

技术标签:

【中文标题】找不到模块“mysql”node.js【英文标题】:Cannot find module `mysql` node.js 【发布时间】:2013-08-10 15:51:44 【问题描述】:

我是 nodejs 的新手。为了连接mysql,我使用命令在节点上安装了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 节点版本:0.10.15 NPM 版本:1.3.5

【问题讨论】:

您是否从运行 npm install mysql 的同一目录运行脚本? 另外,使用npm install -g 是全局安装。 @MorganARRAllen 谢谢。更正。 :) @MorganARRAllen 如何在同一个目录下运行? 尝试从 app.js 所在的同一目录运行 npm ls。这将列出为该项目安装的 npm 模块。 【参考方案1】:

我刚遇到同样的问题,发现是因为模块安装在:

./node_modules/node-mysql/node_modules/

所以,我只是把它们都搬走了:

mv ./node_modules/node-mysql/node_modules/* ./node_modules/

【讨论】:

我使用 npm install -g mysql 安装了不止一次,但我得到:/usr/local/lib/node_modules/mysql# ls node_modules bignumber.js readable-stream require-all,我不知道'找不到node-mysql,请告知上面的路径,因为它不起作用 我使用的是mysql2 2.2.5版本,它没有cardinal,但是helper.js需要cardinal,如下所示。如何解决这个问题?错误:无法遍历依赖关系图:无法从 node_modules\mysql2\lib\helpers.js 所需的 '\node_modules\mysql2\lib' 中找到模块 'cardinal'【参考方案2】:

我的node安装在C:\some-dir\nodejs-0.10.35\

首先导航到同一目录node安装:cd C:\some-dir\nodejs-0.10.35

然后npm install mysql

我将我的应用程序放在同一个目录中:C:\some-dir\nodejs-0.10.35\applications\demo.js

有效。

【讨论】:

我使用的是mysql2 2.2.5版本,它没有cardinal,但是helper.js需要cardinal,如下所示。如何解决这个问题?错误:无法遍历依赖关系图:无法从 node_modules\mysql2\lib\helpers.js 所需的 '\node_modules\mysql2\lib' 中找到模块 'cardinal'【参考方案3】:

您似乎对npm install 的工作原理感到困惑。

npm install -g mysql 将像您建议的那样全局安装,而不是本地安装。

npm install mysql 将在本地安装,将模块放入./node_modules/mysql。这意味着您正在运行的脚本需要从包含 node_modules 的同一目录中运行。

【讨论】:

【参考方案4】:
npm install mysql --save

这将更新您的 package.json 文件。

【讨论】:

【参考方案5】:

你可以用

解决这个问题
ln -s /usr/local/lib/node_modules /YOURPROJECTFOLDER/node_modules

【讨论】:

对我来说,这个真的克服了错误“找不到模块'mysql'” 实际上,ln -s /YOURPROJECTFOLDER/node_modules /usr/local/lib/node_modules 对我有用(Debian 10)【参考方案6】:

我遇到了同样的问题(当然我在 Windows 8 上)。我试过npm install mysqlnpm install -g mysql 都没有成功。

原来我需要打开“Node.js 命令提示符”应用程序,而不是常规的命令提示符应用程序。一切都很好。

我不知道他们的命令提示符在幕后做了什么,但我认为它与路径和环境变量有关。您可能想尝试一下。

【讨论】:

【参考方案7】:

您可能需要更新 package.json 文件。使用以下命令

npm install mysql --save

【讨论】:

此exact same answer 是在您添加此邮件前整整 5 个月添加的。【参考方案8】:
npm install mysql2 --save

并且需要这个

var mysql = require("mysql2");

【讨论】:

【参考方案9】:

导航到主目录中的文件夹/node_modules,然后通过点击以下命令安装mysql:sudo npm install mysql

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

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

【讨论】:

【参考方案10】:

我有同样的错误,请运行

npm install

将解决问题。有时由于某种原因,mysql 包被损坏、删除或丢失,只需运行上面将修复一切。

【讨论】:

【参考方案11】:

我注意到npm install -g mysql 已将 mysql2 保存在 node_modules 中。刚刚改了

require('mysql')

require('mysql2')

它成功了。

【讨论】:

【参考方案12】:

我遇到了同样的问题。这是解决它的方法。

    首先创建了一个项目目录,例如 (Users/home/proj)

    然后转到 proj 文件夹。

    运行npm init(这将创建packaje.json)。 运行 (npm install mysql) 检查 proj 文件夹,你应该看到 node_modules 文件夹,展开 node_modules 你应该看到 mysql 文件夹。 运行你的 app.js

【讨论】:

【参考方案13】:

npm install MySQL --save

这是因为你没有在你的包中安装 MySQL。您在系统环境中没有安装 MySQL 就导入了这个

【讨论】:

【参考方案14】:

如果使用 package.json,只需在下面添加并在您的项目中运行“npm install”。

“依赖”:“mysql”:“2.12.0”

【讨论】:

【参考方案15】:

我发现如果你运行会发生这种情况 npm 安装 没有在你的 package.json 中定义依赖项......即

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

定义依赖..然后运行

npm install

【讨论】:

npm install mysql --save 将为您添加此依赖项,而无需您手动编辑文件【参考方案16】:

这对我有用

转到您的项目文件夹 运行以下命令:npm install mysql

【讨论】:

以上是关于找不到模块“mysql”node.js的主要内容,如果未能解决你的问题,请参考以下文章

node.js,错误:找不到模块'express'

node.js/typescript 找不到本地模块

node.js 要求找不到自定义模块

找不到模块“jsonwebtoken”Node.js

node.js 找不到 xxx 模块解决办法

尽管已安装模块,但 Node.js 找不到模块