Ошибка: не удается найти модуль, происходит сбой Nodemon - PullRequest
2 голосов
/ 04 мая 2020

Я новичок с NodeJS и Express. Я слышал о nodemon и пытался запустить его. Но получил ошибку. Я пробовал решение из github, стек, но, похоже, ничего не работает.

Когда я запускаю node app.js, он работает правильно, и даже localhost:3000 отвечает на него.

Но, в частности, nodemon не работает , Я установил его глобально.

И, пожалуйста, поверьте мне, когда я скажу, что посетил все страницы stackoverflow, для которых есть решение этой проблемы. Но ни один, кажется, не работает. Я установил Nodejs снова. Я переустанавливал node_modules много раз. И попытался изменить scripts{} в пакете. json, как сказано на этих страницах.

{
  "name": "prac-mysql",
  "version": "1.0.0",
  "description": "Connecting MySQL NODEjs",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "faker": "^4.1.0",
    "mysql": "^2.18.1",
    "nodemon": "^2.0.3"
  }
}

Выше приведен исходный код, как это было. Пожалуйста, помогите мне. Большое вам спасибо.

(я использую его в системе windows)

This is the error I get

1 Ответ

2 голосов
/ 04 мая 2020

Из вашего скриншота видно, что вы используете minGW. На их официальном сайте указано:

У MinGW могут быть проблемы с путями, содержащими пробелы, и если нет, то обычно другие программы, используемые с MinGW, будут испытывать проблемы с такими путями. Таким образом, мы настоятельно рекомендуем вам не устанавливать MinGW в любом месте с пробелами в ссылке на путь. Вам следует избегать установки в любой каталог или подкаталог с именами, такими как «Program Files» или «Мои документы» и т. Д. c.

Так что, вероятно, это не проблема с самим nodemon, а с Основное разрешение пути. Попробуйте использовать разные имена каталогов без пробелов или выполнить nodemon из cmd / powershell.

EDIT:

Проблема в том, что вы запускаете nodemon без указания какого-либо файла, и он попытается посмотреть для main -файла, который вы установили в своем пакете. json. Так как вы установили его на index.js, а такой файл не существует, команда не выполняется. Изменение main на app.js в вашем пакете. json должно исправить проблему.

...