Не удается найти модуль `mysql` node.js

Я новичок в nodejs. Для подключения mysql я установил mysql на node с помощью команды

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 Node версия: 0.10.15 Версия NPM: 1.3.5

Ответ 1

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

./node_modules/node-mysql/node_modules/

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

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

Ответ 2

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

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

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

Ответ 4

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

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

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

Ответ 5

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

Оказалось, что мне нужно открыть приложение Node.js Command Prompt 'вместо обычного приложения командной строки. Все отлично поработало.

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

Ответ 6

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

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

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

Ответ 7

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

Мой node установлен в C:\some-dir\nodejs-0.10.35\

Сначала перейдите в тот же каталог node: cd C:\some-dir\nodejs-0.10.35

Затем npm устанавливает mysql

Я помещаю свои приложения в один каталог: C:\some-dir\nodejs-0.10.35\applications\demo.js

Спасибо.

Ответ 8

Я обнаружил, что это происходит, если вы запускаете   Установка npm без наличия зависимостей, определенных в вашем пакете. json... i.e.

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

Определите зависимости... затем запустите

npm install

Ответ 9

npm install mysql --save

Это обновит файл package.json.

Ответ 10

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

npm install mysql --save