nodemon не найден в npm

У меня проблема: nodemon не запускается из сценария npm (например, npm start),
но если nodemon вызывается в командной строке вне сценария npm, nodemon работает как обычно.

$ nodemon server.js
14 Feb 22:59:51 - [nodemon] v1.3.7
14 Feb 22:59:51 - [nodemon] to restart at any time, enter `rs`
14 Feb 22:59:51 - [nodemon] watching: *.*
14 Feb 22:59:51 - [nodemon] starting `node server.js`

Как это называется в скрипте npm:

package.json

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

Когда запускается сценарий запуска npm:

$ npm start
> [email protected] start /home/akul/Documents/aaa
> nodemon server.js

sh: 1: nodemon: not found

npm ERR! Linux 3.13.0-45-generic
npm ERR! argv "node" "/home/akul/npm-global/bin/npm" "start"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.0
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `nodemon server.js`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the [email protected] start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the aaa package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls aaa
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/akul/Documents/aaa/npm-debug.log

Искал решение, но не нашел.


person akul    schedule 14.02.2015    source источник


Ответы (29)


Вы можете решить эту проблему, добавив nodemon в свой package.json:

npm install nodemon --save-dev

Проблема возникает, когда nodemon не существует в /node_modules/.bin.

Добавлено --save-dev, так как это требуется только во время разработки.

person siavolt    schedule 14.02.2015
comment
npm WARN предпочитают, чтобы глобальный [email protected] был установлен с -g, но теперь успешно, спасибо, что nodemon в глобальном каталоге неиспользуемых: D - person akul; 14.02.2015
comment
У меня такая же проблема. теперь разрешите эту команду - npm install nodemon --save - person Bipon Biswas; 01.08.2017
comment
Не устанавливайте nodemon с флагом --save, потому что nodemon используется только для разработки. Используйте флаг -g или --save-dev - person grey87; 06.09.2018

Попробуйте проверить установленные глобальные пакеты npm list -g --depth=0. Если вы не найдете nodemon, - установите флаг -g или --save-dev. Не устанавливайте nodemon с флагом --save, потому что nodemon используется только для development.

person grey87    schedule 15.09.2016
comment
npm install -g nodemon - person Lord Elrond; 05.01.2019

в текущем каталоге проекта запустите

npm install nodemon --save //save in package.json so that the following code cam find your nodemon

затем в разделе "scripts" в вашем файле package.json добавьте "start": "nodemon app.js" (или другую точку входа),
чтобы это выглядело так:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon app.js"
}

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

npm start

Это позволяет избежать сложных настроек PATH и работает на моем Mac - надеюсь, вам поможет;)

person Tina Lee    schedule 12.01.2017
comment
Не устанавливайте nodemon с флагом --save, потому что nodemon используется только для разработки. Используйте -g или --save-dev - person grey87; 06.09.2018

Установите nodemon глобально, используя следующую команду. Он работает на моем компьютере, и я уверен, что он будет работать и в вашей системе.

npm install nodemon -g --save

Иногда у вас должно быть разрешение на глобальную установку. Это легко сделать с помощью следующей команды.

  1. В LINUX UBUNTU: sudo npm install nodemon -g --save

  2. В Fedora:

    a) su
    b)npm install nodemon -g --save

person Nilesh Pawar    schedule 15.06.2017

Попробуйте установить nodemon глобально.

sudo npm install -g nodemon
person Imran Pollob    schedule 31.12.2018

Вот как я это исправил:

Когда я установил nodemon, используя: npm install nodemon -g --save, мой путь к глобальным пакетам npm не был указан в переменной PATH.

Если вы просто добавите его в переменную $ PATH, он будет исправлен.

Отредактируйте файл ~/.bashrc в своей домашней папке и добавьте эту строку: -

export PATH=$PATH:~/npm

Здесь npm - это путь к моим глобальным пакетам npm. Замените его глобальным путем в вашей системе

person Natesh bhat    schedule 17.12.2017

Вам нужно просто установить его глобально. npm install -g nodemon

person Setu Modi    schedule 07.03.2018
comment
Это тоже сработало для меня. Затем для начала - #nodemon ./path/to/startfile - person Nelles; 20.08.2018

По умолчанию heroku работает в производственной среде, поэтому зависимости разработчика не устанавливаются.

если вы не хотите переустанавливать nodemon как зависимость, что, я думаю, не должно, потому что его правильное место находится в devDependencies, а не в зависимостях.

вместо этого вы можете создать два сценария npm, чтобы избежать этой ошибки, запустив nodemon только на вашем локальном хосте следующим образом:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node app.js",
    "start:dev": "nodemon --watch"
},

и если вы хотите запустить проект локально, просто запустите в своем терминале npm run start:dev, и он загрузит app.js с помощью nodemon.

в то время как в heroku npm start запускается по умолчанию и загружает app.js из обычной команды узла, и вы избавляетесь от этой ошибки.

person Mohammad altenji    schedule 16.12.2018

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

Я предполагаю, что вы установили nodemon глобально. Если это сделано, выполните следующие действия:

откройте ваш файл .bash_profile:

nano .bash_profile

мимо этого, чтобы добавить новый псевдоним в свой профиль bash:

alias nodemon='~/.npm-global/lib/node_modules/nodemon/bin/nodemon.js'

Теперь вы можете использовать команду nodemon где угодно.

person younessbennaj    schedule 13.09.2018

sudo npm install nodemon -g --save

Наконец, это сработало для меня. Я надеюсь, что это должно сработать и для других

person Roshan    schedule 21.10.2019

NPM используется для управления пакетами и их загрузки. Однако NPX необходимо использовать в качестве инструмента для выполнения пакетов узлов.

Попробуйте использовать NPX nodemon ...

Надеюсь это поможет!

person ewldh20    schedule 30.01.2019

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

Установите nodemon как локальную зависимость разработчика

npm install --save-dev nodemon

Добавьте скрипт в ваше приложение package.json, чтобы запустить приложение.

"scripts": {
  "start": "nodemon app.js"
},

Запустите nodemon с npm start

$ npm start

> [email protected] start node-rest-demo
> nodemon app.js

[nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node app.js` Starting server ...
person Peter Tarlos    schedule 20.10.2019

Мой nodemon исчез после установки babel (почему?).

Много чего пробовал. Вот как я это решил:

sudo npm i -g nodemon

Просто переустановите его с помощью sudo. Ага.

person Henrique Bruno    schedule 04.10.2019

Я столкнулся с аналогичной проблемой, но затем проверил файл .npmrc, и в нем был неправильный пароль, который вызвал сбой подключения, и поэтому yarn --verbose вернул ошибку Bad request. После исправления пароля пакеты были успешно добавлены.

person rg0623    schedule 25.04.2020

Я нашел очень простое решение. Просто удалите папку с кешем npm и npm со своего компьютера. Переустановите его снова, но ошибка, которую делают многие из нас, заключается в том, что npm не устанавливается глобально.

npm i -g npm

А затем установите nodemon глобально:

npm i -g nodemon

Теперь nodemon работает глобально, даже без использования команды:

npx nodemon <yourfilename>.js
person Ayush Shankar    schedule 29.04.2020

npx nodemon (app.js) работал у меня, а nodemon (app.js) - нет.

Я обновил node.js до последней версии, и теперь оба работают.

person David Gilkeson    schedule 06.05.2020
comment
Это не имеет ничего общего с обновлением узла. nodemon установленный локально входит в ./node_modules/.bin/nodemon. Таким образом, вы можете npx выполнять двоичные файлы пакета npm или можете установить nodemon глобально (используя -g), как указано в нескольких других ответах. - person Mickael B.; 07.05.2020
comment
Спасибо за ваш вклад, я установил nodemon глобально, но все еще не работал для меня. И только до тех пор, пока node.js не был обновлен, он начал работать. Не знаю, как, но вот как я это исправил. - person David Gilkeson; 08.05.2020

У меня была эта проблема, и даже после того, как я использовал команду npm install nodemon --save в своем приложении, у меня все еще была проблема с nodemon.

Я решил только что после того, как установил nodemon глобально, используя команду: npm install nodemon -g

person Tiago Ávila    schedule 11.05.2017


Была та же проблема, иначе просто работала нормально день назад. Очень простое исправление, сначала проверьте, существует ли nodemon в вашей системе глобально или нет

Проверять

npm list -g --depth=0

Если вы не видите, установите его npm install -g nodemon (g означает глобально).
Если вы видите, что он по-прежнему не работает, вам необходимо настроить переменную среды Я использую ОС Windows. В Windows перейдите к

Control panel>System>Advanced System Settings>Environment Variables>double-click on PATH

Теперь проверьте, есть ли у вас этот PATH C:\Users\yourUsername\AppData\Roaming\npm
Если нет, вы увидите некоторые существующие пути, просто добавьте к нему, разделив их точкой с запятой. Вот и все! Сработало для меня. Для меня узел был установлен в C: .. \ Roaming \ npm, и для вас, если ПУТЬ отличается, вы вставляете любое приложение.

person pulkit219    schedule 28.09.2017
comment
Я как-то потерял запись в своем PATH. Не уверен, как, но ваше предложение исправило это. Спасибо - person Mr Bell; 29.09.2017
comment
Не за что!! Наслаждаться - person pulkit219; 30.09.2017

Сначала установите nodemon в вашу рабочую папку,

npm install nodemon

Добавьте путь к nodemon в переменную пути переменной среды системной среды. В моем случае путь nodemon был.

C:\Users\Dell\Desktop\Internship Project\schema\node_modules\.bin

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

person Rishabh Nigam    schedule 21.06.2018

Вы всегда можете переустановить Node.js. Когда у меня возникла эта проблема, я не смог ее исправить, но все, что я сделал, это обновил текущую версию Node. Вы можете обновить его по этой ссылке: https://nodejs.org/en/download/

person Aditya Kuppili    schedule 03.07.2018

Я хотел добавить, как я исправил эту проблему, так как мне пришлось немного смешать и сопоставить несколько разных решений. Для справки, это для ПК с Windows 10, nodemon отлично работал в течение нескольких месяцев, а затем внезапно команда не была найдена, если не запускалась локально с npx. Вот мои шаги -

  1. Проверьте, установлен ли он глобально, запустив npm list -g --depth=0, в моем случае он был установлен, поэтому для начала ...
  2. Я побежал npm uninstall -g nodemon
  3. Затем я переустановил, используя npm install -g --force nodemon --save-dev (можно было бы порекомендовать сначала попробовать запустить npm install -g nodemon --save-dev, выполнить остальные шаги, и, если это не сработает, повторите шаги 2 и 3 снова, используя --force).
  4. Затем я проверил, где находится моя папка npm, с помощью команды npm config get prefix, которая в моем случае находилась в C: \ Users \ username \ AppData \ Roaming \ npm
  5. Я изменил свою переменную PATH, чтобы добавить как этот путь к файлу, так и вторую запись с добавлением к нему \ bin (я не уверен, какой из них действительно нужен, поскольку некоторым людям нужна была только корневая папка npm, а другим нужен bin, это было легко достаточно просто добавить оба)
  6. Наконец, я следовал инструкциям, аналогичным тому, что рекомендовал Натеш в этой записи, однако в Windows файл .bashrc не существует автоматически, поэтому вам нужно создать его в своем каталоге ~. Мне также нужно было немного изменить то, как экспорт был записан как export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm; (очевидно, замените "username" любым вашим именем пользователя или любым другим путем к файлу, который был получен на шаге 4)

Я надеюсь, что это поможет всем, кто борется с этой проблемой так долго, как я!

person Throwback74    schedule 08.10.2018

--save, -g и изменение скриптов package.json у меня не сработали. Вот что произошло: запуск npm start (или использование npx nodemon) в командной строке. Я использую терминал кода Visual Studio. В случае успеха вы увидите следующее сообщение:

[nodemon] 1.18.9
[nodemon] для перезапуска в любое время введите rs
[nodemon] наблюдает: .
[nodemon] запускается node app.js

Удачи!

person bella    schedule 15.01.2019

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

npm i nodemon -g --save
person Mwiza    schedule 16.11.2019

Я попытался составить список глобальных пакетов с помощью npm list -g --depth=0, но не смог найти nodemon.
Следовательно, попытался установить его с использованием глобального флага.
sudo npm install nodemon -g
У меня это сработало.

person taurus05    schedule 19.12.2019

Инструкции для Windows,

Откройте командную строку.
type npm i -g nodemon --save
"--save" - ​​сохранить добавленный пакет этого узла в файле package.json вашего проекта.

person Manoj Kumar    schedule 26.12.2019

В моем случае:

npm install nodemon

Без каких-либо флагов и т. Д.

person Szymon1985    schedule 21.04.2020

для linux попробуйте

sudo npm install -g nodemon

для Windows откройте powershell или cmd как администрацию

npm install -g nodemon
person MD SHAYON    schedule 31.05.2020

Для редактора кода Visual Studio с подсистемой Windows для Linux, то есть в режиме WSL:

sudo npm install nodemon -g

для глобального использования nodemon.

person Ank_247shbm    schedule 29.06.2020

У меня возникла эта проблема при развертывании на Heroku. Проблема в том, что Heroku не включает devDependencies самостоятельно. Чтобы решить эту проблему, просто запустите команду в терминале:

конфигурация heroku: установите NPM_CONFIG_PRODUCTION = false

Обязательно включите nodemon в свои devDependencies

"devDependencies": {
    "nodemon": "^2.0.6"
  }

Если ваша ошибка не в Heroku

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

https://www.npmjs.com/package/nodemon

Или попробуйте изменить сценарий

"scripts": {
    "start": "nodemon fileName.js",
    "start:dev": "nodemon fileName.js"
 }

Надеюсь, это поможет :)

person Kalp    schedule 30.10.2020