nodejs cannot find module 'mysql' 问题分析

在windows平台下,测试nodejs连接mysql数据库。

首先 在控制台中安装mysql依赖包 npm install mysql

安装成功后,mysql依赖包可以在User目录中的node_modules文件夹中找到

然后新建一个测试mysql连接的js文件mysqltest.js

var mysql = require(‘mysql‘);
var connect = mysql.createConnection({
    host:‘localhost‘,
    user:‘root‘,
    password:‘‘,
    database:‘test‘,
    port:3306
});
connect.connect();
console.log("mysql has connnected");
connect.end();
console.log("mysql has colsed");

如果mysqltest.js文件不在User目录中,把mysqltest.js放到E盘的NodeJS文件夹中,运行node mysqltest.js就会报cannot find module ‘mysql‘错误

这是因为node是在E:\NodeJS目录下执行mysql.js的,而在NodeJS目录下,node无法找到mysql模块,所以才会报此错误。

解决办法:

可以把mysqltest.js文件放到User目录中,然后再node mysqltest.js;

也可以在NodeJS目录安装mysql依赖包,然后再node mysqltest.js;

在NodeJS目录中安装依赖包的方式有两种:

1.直接控制台进入NodeJS目录,然后npm install mysql

2.在NodeJS目录中创建一个package.json文件,把mysql依赖加进去,然后在NodeJS目录中执行npm install

{
    "name":    "mysqltest",
    "description": "test project",
    "version": "0.0.1",
    "private": true,
    "devDependencies":{
        "mysql":"2.6.2"
    }
}

如果需要添加多个依赖包,用第二种方式较为方便

nodejs cannot find module 'mysql' 问题分析

时间: 2024-11-05 19:03:52

nodejs cannot find module 'mysql' 问题分析的相关文章

node.js cannot find module 'mysql'

nodejs cannot find module 'mysql' 问题分析 在windows平台下,测试nodejs连接mysql数据库. 首先 在控制台中安装mysql依赖包 一开始我是在相应js所在在目录下安装mysql支持,结果是: 看到那么多WARN时,以为自己装的有问题,于是准备进行全局安装, npm install -g mysql 并没有error和warn. 但是当执行js时,会抛出异常 原因是:安装成功后,mysql依赖包在C:\Users\陈\AppData\Roaming

nodejs的模块系统(实例分析exprots和module.exprots)

前言:工欲善其事,必先利其器.模块系统是nodejs组织管理代码的利器也是调用第三方代码的途径,本文将详细讲解nodejs的模块系统.在文章最后实例分析一下exprots和module.exprots. nodejs的模块 什么是模块? node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,模块是Node.js的基本组成部分.一个node.js文件就是一个模块,也就是说文件和模块是一一对应的关系.这个文件可以是JavaScript代码,JSON或者编译

MySQL触发器分析

触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力. 数据库触发器有以下的作用: 1.安全性.可以基于数据库的值使用户具有操作数据库的某种权利. # 可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据. # 可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%. 2.审计.可以跟踪用户对数据库的操作. # 审计用户操作数据库的语句. # 把用户对数据库的更新写入审计表. 3.实

mysql tinyint 分析

mysql tinyint 分析,布布扣,bubuko.com

一个最不可思议的MySQL死锁分析

一个最不可思议的MySQL死锁分析 死锁问题背景 做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章,专门分析MySQL的加锁实现细节:<MySQL加锁处理分析>. 但是,昨天"润洁"同学在<MySQL加锁处理分析>这篇博文下咨询的一个MySQL的死锁场景,还是彻底把我给难住了.此死锁,完全违背了本人原有的锁知识体系,让我百思不得

怎么样使用Nodejs 的 c++ module 链接到 OpenSSL

事情的起因是这样的, 因为某些原因, 最近在写 Nodejs 的 c++ module, 然后在js这边调用.  网络通信自然离不开ssl, 于是需要链接到Openssl的库. 我们本来的期望是,需要用户安装有Openssl的运行库, 然后我们的c++ module 动态链接到Openssl的so库上来运行. 起初一切看起来还不错,直到我们发现这个openssl的函数不能工作: PKCS7_sign() PKCS7_sign ( ) 我们发现: 如果我们的 c++ 模块与Openssl库动态链接

PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析

现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题特意开发了一款小工具分析Apache 日志,拆分字段成CSV文件并插入Mysql数据库分析 <?php $date = '2014-05-22'; file_put_contents($date.'.csv', ''); file_put_contents($date.'.csv', '"IP

MySQL协议分析2

MySQL协议分析 议程 协议头 协议类型 网络协议相关函数 NET缓冲 VIO缓冲 MySQL API 协议头 ● 数据变成在网络里传输的数据,需要额外的在头部添加4 个字节的包头. . packet length(3字节), 包体的长度 . packet number(1字节), 从0开始的递增的 ● sql “select 1” 的网络协议是? 协议头 ● packet length三个字节意味着MySQL packet最大16M大于16M则被分包(net_write_command, m

MySQL性能分析及explain的使用

MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助. 1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id  selecttype  table  type possible_keys  key key_len  ref rows  extra各列. 其中, type=const表示通过索引一次就找到了: key=primar