Error cannot find module mysql2

i am a newbie to nodejs. To connect mysql, i installed mysql on node using the command, npm install mysql I didn't get any error while installing. Then i tried executing the following code, var ...

i am a newbie to nodejs. To connect mysql, i installed mysql on node using the command,

npm install mysql

I didn’t get any error while installing. Then i tried executing the following code,

var mysql = require("mysql");

But it is showing the following error while im trying to execute that.

C:nodemysql>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:nodemysqlapp.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)

I tried some suggestion like installing mysql globally using,

npm install -g mysql

But nothing works. Help please!!!

Please note my working environment,

OS: Windows7
Node version: 0.10.15
NPM version: 1.3.5

I want to use docker compose to connect a node program, in one container, to a MySQL database, in another container. The database seems to start fine, but my index.js file throws an error: Cannot find module 'mysql2/promise'

I’ve tried installing different packages with npm, and even edited various lines in my package.json file in desperation, but to no avail; always the same error. Here are the relevant files, and the output of the commands that work so far.

$ npm install mysql2

npm WARN simplyanything@1.0.0 No repository field.
npm WARN simplyanything@1.0.0 No license field.

+ mysql2@2.3.3
updated 1 package and audited 101 packages in 3.302s
found 0 vulnerabilities

$ sudo npm install mysql2-promise

+ mysql2-promise@0.1.4
updated 1 package and audited 101 packages in 3.772s
found 0 vulnerabilities

package.json

{
    "name": "simplyanything",
    "version": "1.0.0",
    "scripts": {
        "start": "node index.js"
    },
    "description": "Actions party game",
    "dependencies": {
        "express": "^4.17.1",
        "mysql2": "^2.3.3",
        "mysql2-promise": "^0.1.4",
        "socket.io": "^4.4.1"
    },
    "author": "Chris DeHaan"
}

index.js

const express = require('express');
let app = express();
let http = require('http').createServer(app);
const io = require('socket.io')(http, {pingTimeout: 60000});

app.use(express.static('public'));
app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); });
http.listen(3000, () => { console.log('listening on *:3000'); });

const mysql = require('mysql2/promise');
const pool = mysql.createPool({
    connectionLimit : 100,
    host: process.env.MYSQL_HOST,
    user: process.env.MYSQL_USER,
[.... and so on]

Dockerfile

FROM node:latest
WORKDIR /sa/
COPY package.json .
RUN npm install
COPY . .

docker-compose.yml

version: '3.8'
services: 
    web:
      build:
          context: .
      env_file: ./.env
      command: npm start
      volumes: 
          - .:/sa/
          - /sa/node_modules
      ports:
          - $NODE_LOCAL_PORT:$NODE_DOCKER_PORT
      depends_on: 
          - mysqldb
      environment: 
          MYSQL_HOST: mysqldb
    mysqldb:
      image: mysql
      env_file: ./.env
      environment: 
          MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
          MYSQL_DATABASE: $MYSQL_DATABASE
      ports:
          - $MYSQL_LOCAL_PORT:$MYSQL_DOCKER_PORT
      volumes:
          - mysql:/var/lib/mysql
          - mysql_config:/etc/mysql
volumes:
    mysql:
    mysql_config:

.env

MYSQL_USER=simplyanythingUser
MYSQL_ROOT_PASSWORD=[Well, you don't need to know this]
MYSQL_DATABASE=simplyanything
MYSQL_LOCAL_PORT=3306
MYSQL_DOCKER_PORT=3306

NODE_LOCAL_PORT=3000
NODE_DOCKER_PORT=3000

$ sudo docker build -t sa .

Sending build context to Docker daemon  9.526MB
Step 1/5 : FROM node:latest
 ---> e6bed6a65a54
Step 2/5 : WORKDIR /sa/
 ---> Using cache
 ---> 3da61e5a5928
Step 3/5 : COPY package.json .
 ---> Using cache
 ---> 1e7bbeaaa894
Step 4/5 : RUN npm install
 ---> Using cache
 ---> 52f36e54d698
Step 5/5 : COPY . .
 ---> e0a50567567b
Successfully built e0a50567567b
Successfully tagged sa:latest

$ node index.js

Debugger listening on ws://127.0.0.1:44273/a1b49bfc-83e7-47dd-ba53-64a8df19ccc9
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
listening on *:3000

(and it works in the browser at this point)

$ sudo docker-compose up

Starting sa_mysqldb_1 ... done
Starting sa_web_1     ... done
Attaching to sa_mysqldb_1, sa_web_1
mysqldb_1  | 2022-02-08 08:31:21+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started.
mysqldb_1  | 2022-02-08 08:31:21+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysqldb_1  | 2022-02-08 08:31:21+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started.
mysqldb_1  | 2022-02-08T08:31:21.660916Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.28) starting as process 1
mysqldb_1  | 2022-02-08T08:31:21.747461Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
web_1      | 
web_1      | > simplyanything@1.0.0 start
web_1      | > node index.js
web_1      | 
mysqldb_1  | 2022-02-08T08:31:23.587278Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
web_1      | node:internal/modules/cjs/loader:936
web_1      |   throw err;
web_1      |   ^
web_1      | 
web_1      | Error: Cannot find module 'mysql2/promise'
web_1      | Require stack:
web_1      | - /sa/index.js
web_1      |     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
web_1      |     at Function.Module._load (node:internal/modules/cjs/loader:778:27)
web_1      |     at Module.require (node:internal/modules/cjs/loader:999:19)
web_1      |     at require (node:internal/modules/cjs/helpers:102:18)
web_1      |     at Object.<anonymous> (/sa/index.js:13:15)
web_1      |     at Module._compile (node:internal/modules/cjs/loader:1097:14)
web_1      |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
web_1      |     at Module.load (node:internal/modules/cjs/loader:975:32)
web_1      |     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
web_1      |     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) {
web_1      |   code: 'MODULE_NOT_FOUND',
web_1      |   requireStack: [ '/sa/index.js' ]
web_1      | }
web_1      | 
web_1      | Node.js v17.4.0
mysqldb_1  | 2022-02-08T08:31:25.086275Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
mysqldb_1  | 2022-02-08T08:31:25.086445Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
mysqldb_1  | 2022-02-08T08:31:25.277625Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
mysqldb_1  | 2022-02-08T08:31:25.354311Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
mysqldb_1  | 2022-02-08T08:31:25.355558Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.28'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

I’m really stuck because everything it needs seems to be installed, and it works when I run it on the command line with node index.js so obviously there’s something I’m missing in setting up my container, or getting compose to connect them. Any advice would be much appreciated. Cheers.

Содержание

  1. Не удается найти модуль `mysql` node.js
  2. 16 ответов
  3. Error: Cannot find module ‘promise-mysql’ #419
  4. Comments
  5. Footer
  6. ES Modules does not work with namespaced library #27408
  7. Comments
  8. Error cannot find module mysql2 promise
  9. Node MySQL 2
  10. History and Why MySQL2
  11. Installation
  12. First Query
  13. Using Prepared Statements
  14. Using connection pools
  15. Using Promise Wrapper
  16. Array results
  17. Connection Option
  18. Query Option
  19. API and Configuration
  20. Documentation
  21. How to solve «Error: Cannot find module ‘*.js’» with Node.js
  22. Introduction
  23. How to fix «Error: Cannot find module»
  24. General tips
  25. How to change directories
  26. How to see what directory you are in
  27. How to print the contents of current directory
  28. Conclusion

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

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

У меня не было ошибок при установке. Затем я попытался выполнить следующий код,

Но при попытке выполнить это показывает следующую ошибку.

Я попробовал какое-то предложение, например, установить mysql по всему миру, используя,

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

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

ОС: Windows7 Версия узла: 0.10.15 Версия NPM: 1.3.5

16 ответов

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

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

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

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

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

Тогда npm install mysql

Я помещаю свои приложения в тот же каталог: C:some-dirnodejs-0.10.35applicationsdemo.js

Похоже, вы не понимаете, как работает npm install .

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

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

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

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

У меня была такая же проблема (если я использую Windows 8). Я пробовал npm install mysql и npm install -g mysql , но ни один из них не работал.

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

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

Источник

Error: Cannot find module ‘promise-mysql’ #419

Run code commit 4b53 get error on docker ubuntu16.04

Does this mean mysql is not installing ?
use dpkg -l will get
pooldaemon@1d365fbdeafb:

$ dpkg -l | mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

Thanks for your advance .

The text was updated successfully, but these errors were encountered:

Lack of dependencies , in general , lack of “npm install” , I don’t know docker.

@bobbieltd
in this script https://raw.githubusercontent.com/Snipa22/nodejs-pool/master/deployment/deploy.bash
will install nvm and npm from line 41

I’m curious about if install mysql-server before run script will success install like this :

not install mysql-server befort run script will get error :

The bash installation will install mysql-server in this line :
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install git python-virtualenv python3-virtualenv curl ntp build-essential screen cmake pkg-config libboost-all-dev libevent-dev libunbound-dev libminiupnpc-dev libunwind8-dev liblzma-dev libldns-dev libexpat1-dev libgtest-dev mysql-server lmdb-utils libzmq3-dev

promise-mysql is a dependency in package.json (install by npm install)

You can Google how to install promise-mysql (perhaps other dependencies also) for docker. I guess it is unrelated to mysql-server.

I fixed this issue with

in nodejs-pool folder

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

ES Modules does not work with namespaced library #27408

  • Version: 12.0.0
  • Platform: Windows 10

I’m using experimental-modules since v8. I tried to use «type»: «module» in v12 and it’s fine except for namespaced library (uuid, lodash, . )

This kind of imports:

Causes this error:

The text was updated successfully, but these errors were encountered:

the modules implementation currently disables extension resolution. you’ll need to use —es-module-specifier-resolution=node to get the good behaviour or go into the lodash and uuid folders and check what the extensions of those files are and add that to the import.

Closing as answered.

Had this same issue, @devsnek solution worked, thanks!

this is sort of an ongoing feedback thing for modules team so i’m gonna re-open it

@aadamsx how are you using lodash-es + experimental-modules flag on node?

This node —experimental-modules —experimental-json-modules —es-module-specifier-resolution=node index.js does not work for me with the following code:

Currently only the “default export” is supported for CommonJS files or packages

Is node or the modules loader able to see that the file is exported via module.exports ? If so, would it not be possible to export the hole object as default and every object entry as named export?
eg.

no, we have to declare the export names before evaluation, so we don’t know what module.exports looks like.

Have the same issue. And then when I use —es-module-specifier-resolution=node it breaks CommonJS modules in the namespaced library project SyntaxError: The requested module ‘date-fns’ does not provide an export named ‘format’

Have the same issue. And then when I use —es-module-specifier-resolution=node it breaks CommonJS modules in the namespaced library project SyntaxError: The requested module ‘date-fns’ does not provide an export named ‘format’

Have same issue with date-fns. Try using this syntax, works for me:
import format from ‘date-fns/format’

@ench0 @TrevTheDev be careful: import format from ‘date-fns/format’ works only because the format.js file is not importing other files, otherwise death ☠️ .

Try to import a lodash-es/whatever , or also a date-fns/whatever which imports other modules in the same library.

@ench0 @TrevTheDev be careful: import format from ‘date-fns/format’ works only because the format.js file is not importing other files, otherwise death ☠️ .

Try to import a lodash-es/whatever , or also a date-fns/whatever which imports other modules in the same library.

Tried, this is my full list of imports, no issues at all:

@ench0 if you are using typescript (without explicitly configuring es6 modules transpiling) then your using commonjs aka require.

Test is easy as creating a folder with the following:

First import dies with:

Second import dies with:

The actual path is date-fns/addDays/index.js here.

These lookups are not enabled for ES modules.

Closing as this is by design.

Help ensuring this is better explained in the documentation would be very welcome as it is a very common issue.

@guybedford, I’m trying to convert my project from CommonJS (CJS) to ES Module (MJS), to do that I use:

But then I get an error:

Error [ERR_MODULE_NOT_FOUND]: Cannot find module ‘C:UsersUserIdeaProjects…node_modulesmysql2promise’ imported from…

Источник

Error cannot find module mysql2 promise

Node MySQL 2

MySQL client for Node.js with focus on performance. Supports prepared statements, non-utf8 encodings, binary log protocol, compression, ssl much more

Table of contents

History and Why MySQL2

MySQL2 project is a continuation of MySQL-Native. Protocol parser code was rewritten from scratch and api changed to match popular mysqljs/mysql. MySQL2 team is working together with mysqljs/mysql team to factor out shared code and move it under mysqljs organisation.

MySQL2 is mostly API compatible with mysqljs and supports majority of features. MySQL2 also offers these additional features

Installation

MySQL2 is free from native bindings and can be installed on Linux, Mac OS or Windows without any issues.

First Query

Using Prepared Statements

With MySQL2 you also get the prepared statements. With prepared statements MySQL doesn’t have to prepare plan for same query everytime, this results in better performance. If you don’t know why they are important, please check these discussions

MySQL provides execute helper which will prepare and query the statement. You can also manually prepare / unprepare statement with prepare / unprepare methods.

Using connection pools

Connection pools help reduce the time spent connecting to the MySQL server by reusing a previous connection, leaving them open instead of closing when you are done with them.

This improves the latency of queries as you avoid all of the overhead that comes with establishing a new connection.

The pool does not create all connections upfront but creates them on demand until the connection limit is reached.

You can use the pool in the same way as connections (using pool.query() and pool.execute() ):

Alternatively, there is also the possibility of manually acquiring a connection from the pool and returning it later:

Using Promise Wrapper

MySQL2 also support Promise API. Which works very well with ES7 async await.

MySQL2 use default Promise object available in scope. But you can choose which Promise implementation you want to use

MySQL2 also exposes a .promise() function on Pools, so you can create a promise/non-promise connections from the same pool

MySQL2 exposes a .promise() function on Connections, to «upgrade» an existing non-promise connection to use promise

Array results

If you have two columns with the same name, you might want to get results as an array rather than an object to prevent them from clashing. This is a deviation from the Node MySQL library.

For example: select 1 as foo, 2 as foo .

You can enable this setting at either the connection level (applies to all queries), or at the query level (applies only to that specific query).

Connection Option

Query Option

API and Configuration

MySQL2 is mostly API compatible with Node MySQL. You should check their API documentation to see all available API options.

One known incompatibility is that DECIMAL values are returned as strings whereas in Node MySQL they are returned as numbers. This includes the result of SUM() and AVG() functions when applied to INTEGER arguments. This is done deliberately to avoid loss of precision — see https://github.com/sidorares/node-mysql2/issues/935.

If you find any other incompatibility with Node MySQL, Please report via Issue tracker. We will fix reported incompatibility on priority basis.

Documentation

You can find more detailed documentation here. You should also check various code examples to understand advanced concepts.

Источник

How to solve «Error: Cannot find module ‘*.js’» with Node.js

Introduction

If you are trying to run your Node.js application and you get something like this:

then you are most likely trying to run the wrong file. It is possible you are missing a dependency that is needed from npm install , but if it says it cannot find the main file you are trying to run, then you are trying to run a file that does not exist. It is a common mistake.

How to fix «Error: Cannot find module»

You need to double check you are running the correct file from the correct directory. Here are some steps to diagnose.

General tips

Here are some general things to keep in mind when diagnosing the issue:

  • Make sure you are in the correct directory.
  • Make sure you are trying to run the correct file name.
  • File and directory names are case sensitive.

How to change directories

To change directories, use the cd command in your terminal. For example, if your username was Me on the computer:

How to see what directory you are in

To check what directory you are currently in, use the folowing in your terminal.

How to print the contents of current directory

To see what files and directories exist in your current directory use the following in your terminal:

Conclusion

After reading this you should have some idea why you get the error Error: Cannot find module and how to diagnose and fix the problem.

Источник

While I blogged about how to setup Node.js and MySQL almost two years ago, it was interesting when a student ran into a problem. The student said they’d configured the environment but were unable to use Node.js to access MySQL.

The error is caused by this import statement:

const mysql = require('mysql')

The student got the following error, which simply says that they hadn’t installed the Node.js package for MySQL driver.

internal/modules/cjs/loader.js:638
    throw err;
    ^
 
Error: Cannot find module 'mysql'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/student/Data/cit325/oracle-s/lib/Oracle12cPLSQLCode/Introduction/query.js:4:15)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

I explained they could fix the problem with the following two Node.js Package Manager (NPM) commands:

npm init --y 
npm install --save mysql

The student was able to retest the code with success. The issue was simply that the Node.js couldn’t find the NPM MySQL module.

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

npm install mysql

У меня не было ошибок при установке. Затем я попытался выполнить следующий код,

var mysql = require("mysql");

Но при попытке выполнить это показывает следующую ошибку.

C:nodemysql>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:nodemysqlapp.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 Версия узла: 0.10.15 Версия NPM: 1.3.5

16 ответов

Лучший ответ

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

./node_modules/node-mysql/node_modules/

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

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


18

Bitwise Creative
5 Окт 2013 в 00:03

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

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

Тогда npm install mysql

Я помещаю свои приложения в тот же каталог: C:some-dirnodejs-0.10.35applicationsdemo.js

Оно работает.


10

coderz
27 Янв 2015 в 17:31

Похоже, вы не понимаете, как работает npm install.

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

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


8

Morgan ARR Allen
8 Авг 2013 в 23:29

npm install mysql --save

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


8

Liam
5 Мар 2019 в 18:23

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

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


7

Sebastian Weschke
2 Ноя 2014 в 22:47

У меня была такая же проблема (если я использую Windows 8). Я пробовал npm install mysql и npm install -g mysql, но ни один из них не работал.

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

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


3

joelc
13 Июн 2014 в 20:13

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

npm install mysql --save


2

abhishek bv
12 Фев 2018 в 21:40

npm install mysql2 --save

И требовать этого

var mysql = require("mysql2");


1

Maximilian Ast
16 Дек 2019 в 13:28

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

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

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


0

harshvardhan
1 Мар 2016 в 17:37

У меня такая же ошибка, просто запустите

npm install

Устранит проблему. Иногда по какой-то причине пакет mysql был поврежден, удален или отсутствует, просто запустите выше, чтобы все исправить.


0

hoogw
6 Июл 2018 в 00:18

Я заметил, что на npm install -g mysql сохранен mysql2 в node_modules. Просто изменил

require('mysql')

К

require('mysql2')

И это сработало.


0

cakan
9 Окт 2018 в 14:05

Npm установить MySQL — сохранить

Это потому, что вы не установили MySQL в своем пакете. Вы импортируете это без установки MySQL в своей системной среде.


0

Rohit Soni
19 Дек 2019 в 08:42

Если вы используете package.json, просто добавьте ниже и запустите «npm install» в своем проекте.

{«зависимости»: {«mysql»: «2.12.0»}}


0

Feng Zhang
23 Янв 2021 в 05:28

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

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

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

npm install


-1

jwood
6 Янв 2017 в 21:26

Это сработало для меня

  • перейдите в папку вашего проекта
  • выполните следующую команду: npm install mysql


-1

Arjon Arts
12 Ноя 2018 в 14:16

Я столкнулся с той же проблемой. Вот как это решил.

  1. Сначала создал проект проекта, например (Users / home / proj)

  2. Перейдите в папку proj.

  3. Запустите npm init (это создаст packaje.json).
  4. Беги (npm install mysql)
  5. Проверьте папку proj, вы должны увидеть папку node_modules, развернуть node_modules, и вы должны увидеть папку mysql.
  6. Запустите свой app.js


0

Liam
5 Мар 2019 в 18:29

var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host : ‘localhost’,
user : ‘siddhu’,
password : ‘siddhu’,
database : ‘vscrum’
});
connection.connect();
connection.query(‘SELECT * FROM vscrum.kpi’, function(err, results)
{
if (err)
{
console.error(err);
}
else
{
console.log(‘First row of department table : ‘, results[0]);
}
});
connection.end();

Note: How to resolve Error: Cannot find module ‘mysql’

Above statement says that your project did not get mysql module to execute.

If you are working on window or linux resolutions is same. As i am using Window and my project TestSiddhuNodeJs is in C:workspace-nodejs use follwing below command to execute

Step 1:- Go to C:workspace-nodejsTestSiddhuNodeJs
Step 2:- Execute npm install mysq
C:workspace-nodejsTestSiddhuNodeJs
`– mysql@2.11.1
+– bignumber.js@2.3.0
+– readable-stream@1.1.14
| +– core-util-is@1.0.2
| +– inherits@2.0.3
| +– isarray@0.0.1
| `– string_decoder@0.10.31
`– sqlstring@2.0.1

npm WARN enoent ENOENT: no such file or directory, open ‘C:workspace-nodejsTestSiddhuNodeJspackage.json’
npm WARN TestSiddhuNodeJs No description
npm WARN TestSiddhuNodeJs No repository field.
npm WARN TestSiddhuNodeJs No README data
npm WARN TestSiddhuNodeJs No license field.
Step 3:- Execute your programe and see the result.

About shdhumale

• Having professional experience in development of various applications on different Web based Application and Client Server Application.
• Strong understanding of Spring,Spring LDAP, Spring Security, GWT(Google Web Tool), Ext- GWT, SOAP Technology (Apache Axis, Apache CXF RS,WS), Thrift, Java web Start,Hibernate, Ajax, Portal, Portlet, Jersey Restful Services, Java OSGI Frame, Shibboleth Single Sing on Architecture, Core Java, Struts, Swing, and J2EE Technologies like JSP, Servlet, JDBC and Java Beans, EJB (Both Sesssion and Entity Bean), Android Mobile Development, Apache Kafka. Service Mesh, Microservice Architecture, Docker, Kubernetes, Helm Charts, ELK EFK Stack, DaTree,
Hybrid Mobile development using Ionic Frame work.
• Sound knowledge of Front End Java frame work like Angular 6 and React.
• Sound knowledge of integrating SSO Circle Single Sign On, ADFS integration.

This entry was posted in Uncategorized. Bookmark the permalink.

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

npm install mysql

Во время установки я не получал никаких ошибок. Затем я попытался выполнить следующий код,

var mysql = require("mysql");

Однако при попытке выполнить это будет отображаться следующая ошибка.

C:nodemysql>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:nodemysqlapp.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

08 авг. 2013, в 21:45

Поделиться

Источник

10 ответов

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

./node_modules/node-mysql/node_modules/

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

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

Bitwise Creative
04 окт. 2013, в 21:40

Поделиться

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

Сначала перейдите в тот же каталог node, который установлен: cd C:some-dirnodejs-0.10.35

Тогда npm install mysql

Я помещал свои приложения в один каталог: C:some-dirnodejs-0.10.35applicationsdemo.js

Он работает.

coderz
27 янв. 2015, в 15:32

Поделиться

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

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

Sebastian Weschke
02 нояб. 2014, в 18:34

Поделиться

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

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

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

Morgan ARR Allen
08 авг. 2013, в 19:43

Поделиться

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

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

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

joelc
13 июнь 2014, в 17:43

Поделиться

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

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

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

harshvardhan
01 март 2016, в 16:05

Поделиться

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

npm install mysql --save

abhishek bv
12 фев. 2018, в 20:26

Поделиться

npm install mysql —save

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

user991802
21 сен. 2017, в 01:13

Поделиться

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

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

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

npm install

jwood
06 янв. 2017, в 19:55

Поделиться

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

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

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

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

Я помещаю свои приложения в один каталог: C:some-dirnodejs-0.10.35applicationsdemo.js

Спасибо.

Varun
13 май 2016, в 12:56

Поделиться

Ещё вопросы

  • 0Присоединение событий щелчка к элементам ионного списка (с помощью Angular.Js)
  • 1Android TextView и как определить количество видимых символов
  • 0Новый вид «Tab level» в Ionic
  • 0проверить пустые или не значения в столбцах в R
  • 0nvapi set active eye error error
  • 1Как обернуть Hibernate сессионный API, чтобы избежать «непроверенных» предупреждений об обобщениях
  • 1JSON десериализация для типов C #
  • 0Mysql_field_names в mysqli с использованием цикла
  • 1какие сервлеты не являются частью веб-приложения
  • 1Подключение пиров в Лидгрен с сервера
  • 0Вызовите функции C ++ из Java-программы, используя JNI
  • 1ListView.SelectedItems не изменяется при нажатии TextBox в ItemTemplate
  • 1Java mail api и hmailserver ПОЛУЧЕНО: 530 5.7.0 Сначала необходимо выполнить команду STARTTLS
  • 0Написать регулярное выражение в preg_replace
  • 1Javascript Синхронизировать SharedArrayBuffer с основным потоком
  • 0Функция Javascript, допускающая только один класс для тега привязки
  • 1Более быстрый способ генерации скользящих вычислений в списке столбцов в объекте groupby
  • 0Всплывающая подсказка Raphael.js Qtip исчезает при попытке установить идентификатор
  • 0Вызов SQL в браузере отличается от вызова SQL в MySQL Workbench
  • 1Почему я не могу вернуть IEnumerable <IGrouping <A, B >> как IEnumerable <IEnumerable <B >>
  • 1загрузка ResourceDictionary из XAML также загружает файлы в память
  • 1Результаты обратной матрицы разные в MATLAB и Python
  • 1Преобразование различных категориальных переменных в фиктивные переменные
  • 0php — пропустить foreach, если результат в том же значении
  • 0Выбор варианта с заданным значением
  • 1Перетаскивание в список
  • 1Десериализация DateTime из C # CLR
  • 1Может ли SAX использовать XML-файл локального ресурса?
  • 1список с переменной высотой
  • 0Как включить поддержку MSSQL для PHP на сервере Linux?
  • 1Может ли Javascript прочитать размер шрифта текстового элемента SVG? [Дубликат]
  • 1Как расширить выделенную память байтового буфера
  • 1Как открыть многопользовательский диалог с помощью диалоговой рамки Primefaces
  • 0AngularJS использует ng-click для изменения значения $ scope «self»
  • 1получение нескольких строк с parse.com в динамические текстовые блоки в приложении Windows Phone 8
  • 1log4net программно меняет цель с текста на базу данных в журнал событий
  • 1Создайте текстовый файл и разрешите пользователю загружать в приложение светового переключателя
  • 0rror: [$ parse: синтаксис] Синтаксическая ошибка: токен ‘,’ является неожиданным токеном в столбце 84 выражения
  • 1Могу ли я обновить приложение JavaScript UWP на Windows 10?
  • 1Аудио (MediaPlayer) в справке Android
  • 0как выбрать JQuery DOM и если заявление
  • 1Можно ли закрепить индикатор выбора вкладки TabLayout в верхней части экрана при прокрутке?
  • 0Если первый ребенок — iframe
  • 0PHP-строка из HTTP-сообщения на другой сервер
  • 1Вызов PICK_CONTACT Намерение не от Действия
  • 0Имеет ли манифест кэша автоматически кэшировать все страницы
  • 0Обработчик событий JavaScript на дочерних элементах
  • 0Есть ли способ проверить, инициализирован ли определенный пользователем класс или нет?
  • 0php xpath найти все одинаковые узлы
  • 1Получить значение ключа из json, если условие выполнено

Сообщество Overcoder

Понравилась статья? Поделить с друзьями:
  • Error cannot find module inherits
  • Error cannot find module mysql
  • Error cannot find module mongoose
  • Error cannot find module minimist
  • Error cannot find module lodash