2013-08-08 2 views
12

Я новичок в nodejs. Для подключения MySQL, я установил mysql на узле с помощью команды,Не удается найти модуль `mysql` node.js

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 

Но ничего не работает. Помоги пожалуйста!!!

Обратите внимание мою рабочую среду,

OS: Windows7 Node версия: 0.10.15 NPM версия: 1.3.5

+0

Вы используете свой скрипт из того же каталога, в котором вы запускали 'npm install mysql'? –

+0

Кроме того, использование 'npm install -g' - это глобальная установка. –

+0

@MorganARRAllen Спасибо. исправленный. :) – Stranger

ответ

11

Я просто столкнулся с той же проблемой и нашел, что это произошло потому, что модуль был установлен в:

./node_modules/node-mysql/node_modules/

Итак, я просто переместил их все:

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

+0

Я установил его более одного раза, используя npm install -g mysql, но я получаю:/usr/local/lib/node_modules/mysql # ls node_modules bignumber.js readable-stream require-all, я не нахожу node-mysql , пожалуйста, сообщите нам о том, как это сделать, потому что он не работает – moderns

3

Похоже, что вы могли бы быть смущены о том, как npm install работ.

npm install -g mysql будет устанавливать глобально не локально, как вы предлагаете.

npm install mysql будет устанавливаться локально, помещая модуль в ./node_modules/mysql. Это означает, что скрипт, который вы запускаете, должен запускаться из того же каталога, который содержит node_modules.

+2

Я пробовал оба. Но ничего не работает. – Stranger

+0

Это не работает со мной! – moderns

2

Я с той же проблемой (предоставляется в Windows 8). Я пробовал npm install mysql и npm install -g mysql и ни один не работал.

Оказалось, что мне нужно открыть приложение «Командная строка Node.js», а не обычное приложение командной строки. Все отлично поработало.

Я не знаю, что их команда вызывает под капотом, но я бы предположил, что это имеет какое-то отношение к переменным и переменным среды. Вы можете попробовать.

5

Вы можете исправить это с

ln -s /usr/local/lib/node_modules /YOURPROJECTFOLDER/node_modules 
+0

для меня, этот действительно проходит мимо ошибки «Невозможно найти модуль« mysql » – Parasu

6

Мой 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

Это работает.

0

Перейдите в папку /node_modules, которая находится внутри основного каталога, и установить MySQL, нажав следующую команду: sudo npm install mysql

Это создаст папку с именем mysql внутри папки /node_modules.

Теперь запустите приложение, используя команду node app.js внутри основной папки. Он должен работать и устанавливать соединение с сервером mysal.

0

Это решение от кодера отлично работает.

Мой узел установлен в C: \ некоторые-Dir \ nodejs-0.10.35 \

Сначала перейдите в тот же узел каталога установлен: кд C: \ некоторые-Dir \ nodejs-0.10.35

Затем НПМ установить MySQL

Я положил приложений в той же директории: C: \ некоторые-Dir \ nodejs-0.10.35 \ приложений \ demo.js

Спасибо.

0

Я нашел, что это произойдет, если вы запустите НПМ установить без зависимостей, определенных в вашем package.json ... т.е.

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

Определение dependecies .. затем запустить

npm install 
0

Возможно, вам придется обновить файл package.json. Используйте следующую команду:

npm install mysql --save