我是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)
我尝试了一些建议,比如使用
全局安装mysqlnpm install -g mysql
但没有任何作用。请帮助!!!
请注意我的工作环境,
操作系统:Windows7 节点版本:0.10.15 NPM版本:1.3.5
答案 0 :(得分:16)
我遇到了同样的问题,发现这是因为模块安装在:
./node_modules/node-mysql/node_modules/
所以,我只是把它们全部移动了:
mv ./node_modules/node-mysql/node_modules/* ./node_modules/
答案 1 :(得分:7)
您可以使用
解决此问题ln -s /usr/local/lib/node_modules /YOURPROJECTFOLDER/node_modules
答案 2 :(得分:7)
我的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
有效。
答案 3 :(得分:4)
看起来您可能会对npm install
的工作方式感到困惑。
npm install -g mysql
将全局安装,而不是像您建议的那样在本地安装。
npm install mysql
将在本地安装,将模块放入./node_modules/mysql
。这意味着您运行的脚本需要从包含node_modules
的同一目录运行。
答案 4 :(得分:2)
我遇到了同样的问题(授予我在Windows 8上)。我尝试了npm install mysql
和npm install -g mysql
,但都没有效果。
原来我需要打开Node.js命令提示符&#39;应用程序而不是常规命令提示应用程序。一切都很好。
我不知道他们的命令提示在幕后做了什么,但我认为它与路径和环境变量有关。你可能想尝试一下。
答案 5 :(得分:1)
npm install mysql --save
这将更新你的package.json文件。
答案 6 :(得分:1)
您可能必须更新package.json文件。使用以下命令
npm install mysql --save
答案 7 :(得分:0)
导航到主目录中的文件夹/node_modules
,然后按以下命令安装mysql:sudo npm install mysql
这将在mysql
文件夹中创建一个名为/node_modules
的文件夹。
现在使用主文件夹中的node app.js
命令运行您的应用程序。它应该工作并与mysal服务器建立连接。
答案 8 :(得分:0)
我有相同的错误,只需运行
npm install
将解决此问题。有时由于某种原因,mysql软件包已损坏,删除或丢失,只需在上面运行即可解决所有问题。
答案 9 :(得分:0)
我注意到npm install -g mysql
上已将mysql2保存在node_modules中。刚刚更改
require('mysql')
到
require('mysql2')
它奏效了。
答案 10 :(得分:0)
我遇到了同样的问题。这是解决方法。
首先创建一个项目目录,例如(Users / home / proj)
转到然后proj文件夹。
npm init
(这将创建packaje.json)。 npm install mysql
)答案 11 :(得分:0)
npm install mysql2 --save
并要求这个
var mysql = require("mysql2");
答案 12 :(得分:0)
npm安装MySQL --save
这是因为您尚未在软件包中安装MySQL。您正在导入此文件,而未在系统环境中安装MySQL
答案 13 :(得分:0)
如果使用 package.json,只需在下面添加并在您的项目中运行“npm install”。
{ "dependencies": { "mysql": "2.12.0" } }
答案 14 :(得分:-1)
我发现如果你跑的话会发生这种情况 npm安装 没有在package.json中定义的依赖关系...即
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<title>Form</title>
</head>
<body>
<form name="codexworld_frm" id="form1" method="post">
<div class="field_wrapper">
<div>
<h3><a href="javascript:void(0);" class="add_button" title="Add Field">Add POS Item</a> </h3>
</div>
</div>
<input type="submit" value="Submit">
</form>
</body>
<script type="text/javascript">
// JavaScript Document
var globalVariable;
$(document).ready(function jsonload(data){
$.getJSON("http://localhost/test/php/psql.php", function(data)
{
var options = "";
for (var i = 0; i < data.length; i++)
{
options +="<option value=\"" + data[i].POSID + "\">" + data[i].Product + "</option>";
//console.log(data[i].POSID + " " + data[i].Product);
}
var globalVariable=options;
console.log(globalVariable);
});
});
$(document).ready(function forms(){
var maxField = 50; //Input fields increment limitation
var addButton = $('.add_button'); //Add button selector
var wrapper = $('.field_wrapper'); //Input field wrapper
//var fieldHTML = {row :function(f){
//return '<h3><div>Item <input type="text" name="field_name['+f+'][]" value=""/>Material <input type="text" name="field_name['+f+'][]" value=""/><a href="javascript:void(0);" class="remove_button" title="Remove Field"><i class="material-icons" style="font-size:24px; color:blue">remove_circle</i></a></div></h3>';
//}};
var fieldHTML = {row :function optionload(f){
var local = globalVariable;
console.log(local);
//event.preventDefault();
return '<div>Item<input type="text" name="field_name['+f+'][]" value=""/>Material <select name="field_name['+f+'][]"><option value=""></option>' + local + '</select><a href="javascript:void(0);" class="remove_button" title="Remove Field"><i class="material-icons" style="font-size:24px; color:blue">remove_circle</i></a></div>';
}};
var x = 1; //initial field counter is 1
$(addButton).click(function(){ //Once add button is clicked
if(x < maxField){
x++;
$(wrapper).append(fieldHTML.row(x)); //Add field html
}
});
$(wrapper).on('click', '.remove_button', function(e){ //Once remove button is clicked
e.preventDefault();
$(this).parent('div').remove(); //remove field html
x--;
});
});
</script>
</html>
定义dependecies ..然后运行
[
{
"POSID": "104",
"Product": "10 Case Header"
},
{
"POSID": "105",
"Product": "10 Case Header"
}
]
答案 15 :(得分:-1)
这对我有用
npm install mysql