Подтвердить что ты не робот

Nodemon не найден в npm

У меня проблема: nodemon не работает с npm script (например, npm start),
но если nodemon вызывается в командной строке за пределами npm script, 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 script:

package.json

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

При запуске npm start script:

$ 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

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

4b9b3361

Ответ 1

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

npm install nodemon --save

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

Ответ 2

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

Ответ 3

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

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
надежда может помочь вам;)

Ответ 4

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

npm install nodemon -g --save

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

  • В LINUX UBUNTU: sudo npm install nodemon -g --save

  • В Fedora:

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

Ответ 5

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

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

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

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

export PATH=$PATH:~/npm

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

Ответ 6

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

sudo npm install -g nodemon

Ответ 7

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

Ответ 8

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

если вы не хотите переустанавливать 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 из обычной команды узла, и вы избавляетесь от этой ошибки.

Ответ 9

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

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

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

nano .bash_profile

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

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

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

Ответ 10

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

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

Ответ 11


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

Чтобы проверить

npm list -g --depth=0

Если вы не видите, то установите it 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
Если нет, вы увидите некоторые существующие пути, просто добавьте к нему, разделяя точку с запятой. Это! Работал для меня. Для меня node был установлен в C:..\Роуминг\npm и для вас, если PATH отличается, вы будете вставлять любые файлы applcable.

Ответ 12

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

npm install nodemon

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

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

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

Ответ 13

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

Ответ 14

Я хотел добавить, как я исправил эту проблему, так как мне пришлось немного смешать и сопоставить несколько разных решений. Для справки, это для ПК с 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 команды npm config get prefix, который в моем случае находился в C:\Users\username\AppData\Roaming\npm
  5. Я изменил свою переменную PATH, добавив в нее и путь к файлу, и вторую запись с добавленным в нее \bin (я не уверен, какая из них на самом деле нужна, поскольку некоторым людям нужна только корневая папка npm, а другим - bin, это было легко достаточно просто добавить оба)
  6. Наконец, я следовал инструкциям, аналогичным рекомендациям Natesh для этой записи, однако в Windows файл .bashrc не существует автоматически, поэтому вам необходимо создать его в каталоге ~. Мне также нужно было немного изменить способ экспорта: export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm; (Очевидно, замените "имя пользователя" тем, какое у вас имя пользователя, или каким бы ни был путь к файлу, который был получен на шаге 4)

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

Ответ 15

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

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

Удачи!

Ответ 16

NPM используется для управления пакетами и их загрузки. Тем не менее, NPX должен использоваться как инструмент для выполнения Node Packages.

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

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

Ответ 17

Перепробовав все, я переустановил nodejs, после чего проблема была решена.

Ответ 18

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

Перепробовал много вещей. Вот как я это решил:

sudo npm i -g nodemon

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

Ответ 19

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

Установить 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 ...

Ответ 20

sudo npm install nodemon -g --save

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