32

我是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

4

16 回答 16

18

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

./node_modules/node-mysql/node_modules/

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

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

于 2013-10-04T20:03:29.800 回答
10

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

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

然后npm install mysql

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

有用。

于 2015-01-27T14:31:02.150 回答
9

看起来您可能对如何npm install工作感到困惑。

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

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

于 2013-08-08T19:29:29.063 回答
8
npm install mysql --save

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

于 2017-09-20T23:54:14.233 回答
7

你可以用

ln -s /usr/local/lib/node_modules /YOURPROJECTFOLDER/node_modules
于 2014-11-02T18:05:15.450 回答
3

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

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

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

于 2014-06-13T16:13:01.283 回答
2

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

npm install mysql --save
于 2018-02-12T18:40:13.063 回答
1
npm install mysql2 --save

并要求这个

var mysql = require("mysql2");
于 2019-12-16T06:20:43.983 回答
0

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

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

  2. 然后转到 proj 文件夹。

  3. 运行npm init (这将创建 packaje.json)。
  4. 运行 ( npm install mysql)
  5. 检查 proj 文件夹,你应该看到 node_modules 文件夹,展开 node_modules 你应该看到 mysql 文件夹。
  6. 运行你的 app.js
于 2018-11-10T01:03:18.123 回答
0

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

{“依赖”:{“mysql”:“2.12.0”}}

于 2021-01-23T02:28:13.603 回答
0

我有同样的错误,只需运行

npm install

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

于 2018-07-05T21:18:44.390 回答
0

npm 安装 MySQL --save

这是因为您还没有在包中安装 MySQL。您正在导入它而不在系统环境中安装 MySQL

于 2019-12-19T05:42:50.433 回答
0

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

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

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

于 2016-03-01T14:37:54.293 回答
0

我注意到 onnpm install -g mysql已将 mysql2 保存在 node_modules 中。刚变

require('mysql')

require('mysql2')

它奏效了。

于 2018-10-09T10:10:39.330 回答
-1

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

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

定义依赖项..然后运行

npm install
于 2017-01-06T18:26:35.970 回答
-1

这对我有用

  • 转到您的项目文件夹
  • 运行以下命令:npm install mysql
于 2018-11-12T11:16:35.827 回答