0

我有一个 node-mysql 程序

node db.js

   module.js: 340 
   throw err;

Error: Cannot find module 'mysql'

错误是@

var mysql      = require('mysql'); //for node-mysql

错误消失了,当我在 nodemodules/node-mysql/ 目录中运行程序时,它一切正常,这有点蹩脚,考虑到我使用的其他包不是那样的,我想。

是出于安全目的还是我做错了?

我几乎可以肯定以前有人问过这个问题,但是当我搜索时我找不到实际答案。

4

2 回答 2

3

你混合了两个不同的 MySQL 包:

  • node-mysql, 安装有npm install node-mysql;
  • mysql, 与 , 一起安装npm install mysql, 在GitHub 上被混淆地称为node-mysql;

您安装了第一个,它安装在node_modules/node-mysql/并且应该使用require('node-mysql').

如果您安装第二个(无论如何我认为您想要),它将安装node_modules/mysql/并且您的代码将按预期工作。

于 2013-10-14T04:12:48.417 回答
0

将您的重命名node_modules/node-mysqlnode_modules/mysql. 当你requirepackage_name npm 搜索 ./node_modules/package_name,然后是 ../node_modules/package_name 等,然后是全局位置。

于 2013-10-14T02:51:35.530 回答