Команда nodemon не распознается в терминале для сервера node js

Я выполняю настройку сервера node.js с https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens. Я новичок в node.js. Я устанавливаю npm install nodemon --save. Но когда я запускаю сервер с этим nodemon server.js.
В терминале отображается:

nodemon не распознается как внутренняя или внешняя команда, работающая программа или командный файл

введите описание изображения здесь

Команда node server.js работает и сервер запустил, но команда nodemon не работает.

Я настроил сервер node js с https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens видео.

Я не знаю, почему это не работает. Я попробовал какую-то команду для установки nodemon.

npm install -g nodemon 
npm install -g nodemon --save 
npm install --save-dev nodemon 
npm install -g nodemon@debug 

npm install -g --force nodemon

Я видел одну ссылку Я не могу установить nodemon глобально , nodemon не распознан, но я не знаю, как задать путь, поскольку мой проект находится на диске D.

Я хочу запустить nodemon server.js. Если у кого-то есть идея, поделитесь. Заранее спасибо.


person Varun Sharma    schedule 01.11.2016    source источник


Ответы (22)


Вам нужно установить его глобально

npm install -g nodemon
# or if using yarn
yarn global add nodemon

И тогда он будет доступен на пути (теперь я вижу, что вы пробовали это, и это не сработало, ваш путь может быть испорчен)

Если вы хотите использовать версию, установленную локально, а не устанавливать глобально, вы можете создать скрипт в своем package.json.

"scripts": {
    "serve": "nodemon server.js"
  },

а затем используйте

npm run serve

опционально при использовании пряжи

# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve

Затем npm будет искать в вашей локальной папке node_modules, прежде чем искать команду в ваших глобальных модулях.

person ndonohoe    schedule 01.11.2016
comment
Что не работает? Скрипт, использующий локальную установку? - person ndonohoe; 01.11.2016
comment
Яа. Я установил nodemon. Я поместил скрипт в файл package.json. И после запуска npm run serve. В конце концов, запустите nodemon server.js, но не работает. - person Varun Sharma; 01.11.2016
comment
package.json: {scripts: {serve: nodemon server.js}, имя: узел-сайт, версия: 1.0.0, описание:, main: server.js, скрипты: {test: echo \ Error: тест не указан \ && exit 1}, автор:, лицензия: ISC, зависимости: {express: ^ 4.14.0, nodemon: ^ 1.11.0}, devDependencies: {gulp-nodemon: ^ 2.2.1, nodemon: ^ 1.11.0}} - person Varun Sharma; 01.11.2016
comment
Можете уточнить не работает? Есть ошибка? Ничего не происходит? - person ndonohoe; 01.11.2016
comment
Это может быть из-за того, что у вас есть два набора скриптов, вы должны иметь все скрипты в одном объекте скриптов. - person ndonohoe; 01.11.2016
comment
Да, после выполнения вышеуказанных настроек он работает как шарм. Спасибо ! - person Akash5288; 03.12.2018

  1. Установите nodemon глобально:

    C:\>npm install -g nodemon
    
  2. Получить префикс:

    C:\>npm config get prefix
    

    В консоли вы получите следующий результат:

    C:\Users\Family\.node_modules_global
    

    Скопируйте это.

  3. Установить путь.
    Перейти к расширенным настройкам системы Переменная среды Нажмите «Создать» (в разделе «Пользовательские переменные»). Появится всплывающая форма. Передайте следующие значения:

    variable name = path,
    variable value = Copy output from your console
    
  4. Теперь запустите Nodemon:

    C:\>nodemon .
    
person Raj Kumar    schedule 10.12.2018
comment
Это работает!! Это было то, что я искал. Спасибо - person yashjain12yj; 25.02.2019
comment
это сработало для меня. На самом деле у меня есть окна, и мне нужно исправить переменные среды. Спасибо :) - person Laveena; 08.07.2020
comment
Это тоже работает !!!!!!!! Я работал над проектом ExpressJS. Я использовал сценарии npm, затем я начал искать в Google. Я нашел эту ссылку в Google, я просто использую npx nodemon на своем ноутбуке. Но я хотел использовать только nodemon ‹ScriptName.js›, и тогда я нашел это - person Shridhar Sagari; 18.05.2021

Сначала напишите npm install --save nodemon, затем в package.json напишите следующее

"scripts": {
    "server": "nodemon server.js"
  },

затем написать

npm run server
person Alok Prusty    schedule 23.01.2018
comment
Это сработало! Большое спасибо. Просто запрос, nodemon не позволяет нам перезапустить файл сервера, но нам все равно нужно обновить браузер. Может ли браузер обновляться самостоятельно, как в angular? - person Rahul Sharma; 19.04.2018
comment
Если после этого вы все еще получаете сообщение об ошибке, вы можете попробовать удалить папку node_modules и повторно запустить npm i перед повторным запуском приложения. - person Chris Halcrow; 26.02.2021

Я столкнулся с той же проблемой. Я установил nodemon как dev-зависимость, и когда я попытался запустить сервер, он дал сообщение, что

nodemon не распознается как внутренняя или внешняя команда, работающая программа или командный файл

Затем я установил его глобально и попытался запустить сервер, и он заработал!

npm install -g nodemon
person adityaekawade    schedule 28.06.2017

Нет необходимости устанавливать nodemon глобально. Просто запустите этот npx nodemon ‹scriptname.js›. Вот и все.

person pritam ghosh    schedule 17.10.2020
comment
Это решение сработало для меня, но я не понял, почему npm не работает7 - person Ahmed C; 31.03.2021

Нужно ли его устанавливать глобально? Вам нужно просто запустить nodemon server.js? Если нет, вы всегда можете просто вызвать его из локального каталога проекта. Должно быть здесь:

node_modules/.bin/nodemon
person Larry Turtis    schedule 01.11.2016
comment
Это полезно для меня, чтобы запустить мой nodejs api из сценария оболочки. Большое спасибо! - person Nam G VU; 05.09.2020

Эта строка решила мою проблему в CMD:

npm install --save-dev nodemon
person Bakos Bence    schedule 05.12.2018
comment
Глобальная установка nodemon у меня не сработала, а вот этот сработал :) - person codemirror; 22.03.2019
comment
Это тоже спасло меня - person sohan soharab; 15.02.2021

Это может прийти слишком поздно, но лучше сказать что-нибудь :)

Если вы не хотите устанавливать nodemon глобально, вы можете использовать npx, он устанавливает пакет во время выполнения и будет вести себя как глобальный пакет (имейте в виду, что он доступен только в данный момент и не существует глобально!).

Итак, все, что вам нужно, это npx nodemon server.js.

  • npx можно сразу использовать, начиная с версии [email protected].
person Yaron Miro    schedule 27.07.2019

Поскольку префикс узла не указан в переменной PATH ENV, ни один из глобально установленных модулей не распознается. Пожалуйста, попробуйте это. Откройте командную строку командной строки npm config get prefix и добавьте полученный путь к переменной env PATH. Теперь у вас должна быть возможность запускать nodemon из любого места. попробуйте эту ссылку и следуйте по ней. исправление разрешений npm https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory

person vighanesh mandavkar    schedule 01.11.2016
comment
По твоей ссылке инструкция для linux, у тебя что-нибудь есть для windows? - person Jose Rojas; 01.11.2016

Чтобы использовать nodemon, вы должны установить его глобально.

Для Windows

npm i -g nodemon

Для Mac

sudo npm i -g nodemon

Если вы не хотите устанавливать его глобально, вы можете установить его локально в папку проекта, выполнив команду npm i nodemon . При локальном запуске будет выдана примерно такая ошибка:

nodemon : The term 'nodemon' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.

Чтобы удалить эту ошибку, откройте package.json файл и добавьте

"scripts": {
     "server": "nodemon server.js"
 },

и после этого просто запустите команду

npm run server

и ваш nodemon начнет работать правильно.

person Amit Kumar    schedule 22.05.2019
comment
Неправильный. Ваш скрипт должен сказать {server: nodemon server.js} - person joedotnot; 15.08.2019

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

nodemon : The term 'nodemon' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.

2. Я нашел два решения для этого

решение 1:

Я попытался обновить сценарии в файле package.json и добавил

"server": "nodemon app.js"

над строкой кода и после этого

npm run server

Решение 2:

  1. Нажмите клавишу Windows.

  2. Введите «Путь» в поле поиска и выберите «Изменить системные переменные среды».

  3. Щелкните «Переменные среды» внизу.

  4. В разделе «Системные переменные» дважды щелкните переменную «Путь».

  5. Нажмите "Новый" справа.

  6. Скопируйте и вставьте это в поле (замените [Имя пользователя]):

C: \ Users [Имя пользователя] \ AppData \ Roaming \ npm

  1. перезапустите свой терминал и VSCode.

  2. Затем введите nodemon app.js, чтобы запустить nodemon

Я применил решение 2, так как нам просто нужно запустить nodemon [filename.js]

person Shubham Kumar    schedule 21.03.2020

Я исправил таким образом

  1. удалить существующий локальный nodemon

    npm удалить nodemon

  2. установите его снова глобально.

    npm я -g nodemon

person Saad Abbasi    schedule 04.07.2020

Вы можете запустить приложение узла, просто набрав nodemon It First run index.js Вы можете легко поместить точку входа в этот файл.

Если вы не установили nodemon, вам сначала нужно установить его с помощью

npm install -g nodemon

Если у вас возникла ошибка разрешения, используйте

sudo npm install -g nodemon

Вы можете проверить, существует ли nodemon, с помощью

nodemon -v
person Shraddha Goel    schedule 13.07.2018

Та же проблема возникла после создания нового профиля пользователя на моей машине разработки.

Проблема заключалась в том, что я не запускал консоль (командная строка \ PowerShell ISE) как администратор.

Работа от имени администратора решила для меня эту проблему.

person Jim Jimson    schedule 13.04.2019

Политика выполнения командлета Set-ExecutionPolicy по умолчанию - Restricted for Windows. Вы можете попробовать установить nodemon, установив для этой политики значение Unrestricted.

выполните команду: Set-ExecutionPolicy Unrestricted, а затем попробуйте установить nodemon и выполните команду: nodemon -v

person Mayur    schedule 03.01.2020

Для меня установки переменных пути было достаточно для решения:

Шаг 1) Установите nodemon глобально, используя npm install -g nodemon

введите описание изображения здесь

Шаг 2) Задайте ENVIRONMENT VARIABLES, добавив путь npm к переменной PATH

1) Откройте панель управления, найдите переменную среды

введите описание изображения здесь

2) Нажмите, чтобы открыть переменную среды  введите описание изображения здесь

3) Создайте новую переменную NPM и задайте для нее путь npm, как показано в выходных данных cmd установки nodemon (как показано на nodemon снимке экрана установки):

введите описание изображения здесь

4) Теперь добавьте переменную NPM к переменным PATH:

введите описание изображения здесь

Шаг 3) Закройте 'cmd' и откройте новый и введите nodemon --version  введите описание изображения здесь

Теперь у нас есть готовый к использованию nodemon :)

person Kailas    schedule 09.02.2021

Лучше установить nodemon глобально, а не как зависимость разработчика от проекта.

npm install -g nodemon

Официальный CDN NPM: Ссылка

Этот пакет используется для отслеживания изменений в файлах javascript и повторного запуска npm start, чтобы упростить разработку.

person Sai Hemanth Talasila    schedule 17.06.2021

Выполните эту команду:

npm install nodemon -g

Теперь он установит nodemon, но проблема в моем случае заключается в том, что он устанавливает nodemon где-то еще. Я добавил путь Nodejs из (ProgramFiles (x86)), но это не сработало, поэтому я нашел другое решение.

  • Выполнить команду выше
  • Во время установки будет показан путь, по которому установлен nodemon, затем [Пожалуйста, перейдите по ссылке ниже, чтобы увидеть путь] [1]

    [1]: https://i.stack.imgur.com/ld2sU.png

  • Скопируйте путь до npm и установите его в переменную среды
  • Теперь попробуйте следующую команду, надеюсь, она запустится

      nodemon YourAppName.js
person Junaid    schedule 05.01.2019

Все вышеперечисленные варианты не работают, у меня есть постоянное решение для этого. Добавьте строку ниже в package.json в разделах dependencies и run npm install. Это добавит пакет nodemon в node_modules, и теперь наслаждайтесь кодированием.

"nodemon": "^1.17.*"
person Amol Kamble    schedule 18.05.2019
comment
Добро пожаловать в Stack Overflow. Отвечая на старый вопрос с помощью существующих ответов, полезно объяснить, какую новую информацию приносит ваш ответ. Этот ответ, похоже, не показывает глобальную установку, он ссылается на конкретную версию (поэтому он не будет хорошо стареть) и не отвечает на заданный вопрос, поскольку не показывает, как включить команда. - person Jason Aller; 18.05.2019

Просто установите глобально

 npm install -g  nodemon

У меня это сработало в Windows 10.

nodemon app.js
person Prathamesh More    schedule 11.08.2019

Попробуйте в своем packge.json: поместите ./node_modules/.bin/nodemon вместо просто nodemon. Для меня это работает.

person moshi    schedule 07.02.2021

Удалите nodemon, потому что это зависимость разработчика, и используйте вместо него node.

"scripts": {
     "start": "node server.js"
 },

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

person Atharv Upadhyay    schedule 07.02.2019
comment
Не отвечает на вопрос. node и nodemon имеют разные цели. - person joedotnot; 15.08.2019
comment
это другое дело. Для nodemon это должен быть server: nodemon app.js - person Shubham Kumar; 21.03.2020