Ответ 1
Вы можете решить эту проблему, добавив nodemon к вам package.json
npm install nodemon --save
Проблема возникает, когда nodemon не существует в / node_modules/. bin
У меня проблема: 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
Я искал решение, но не нашел его.
Вы можете решить эту проблему, добавив nodemon к вам package.json
npm install nodemon --save
Проблема возникает, когда nodemon не существует в / node_modules/. bin
Попробуйте проверить установленные глобальные пакеты npm list -g --depth=0
. Если вы не найдете nodemon
, установите его с флагом -g
или --save-dev
. Не устанавливайте nodemon
с флагом --save
, потому что nodemon
используется только для development
.
в вашем текущем каталоге проекта, запустите
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
надежда может помочь вам;)
Установите nodemon
глобально, используя следующую команду. Он работает на моем компьютере, и я уверен, что он будет работать и на вашей системе.
npm install nodemon -g --save
Иногда у вас должно быть разрешение на его установку по всему миру. Это можно сделать с помощью следующей команды.
В LINUX UBUNTU:
sudo npm install nodemon -g --save
В Fedora:
a) su
б) npm install nodemon -g --save
Когда я установил nodemon, используя: npm install nodemon -g --save
, мой путь для глобальных пакетов npm не присутствовал в переменной PATH.
Если вы просто добавите его в переменную $PATH, она будет исправлена.
Отредактируйте файл ~/.bashrc
в домашней папке и добавьте следующую строку: -
export PATH=$PATH:~/npm
Здесь "npm" - это путь к моим глобальным пакетам npm. Замените его глобальным путем в вашей системе
Попробуйте установить nodemon глобально.
sudo npm install -g nodemon
Вы должны просто установить его в глобальном масштабе. npm install -g nodemon
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 из обычной команды узла, и вы избавляетесь от этой ошибки.
Это решение сработало для меня:
Я предполагаю, что вы установили nodemon глобально. Если это сделано, выполните следующие действия:
откройте файл .bash_profile:
nano .bash_profile
мимо этого, чтобы добавить новый псевдоним в вашем профиле bash:
alias nodemon='~/.npm-global/lib/node_modules/nodemon/bin/nodemon.js'
Теперь вы можете использовать команду nodemon где угодно.
У меня была эта проблема, и даже после того, как я использовал команду npm install nodemon --save
в своем приложении, у меня все еще была проблема с nodemon.
Я только что решил после установки nodemon по всему миру, используя команду: npm install nodemon -g
Если бы одна и та же проблема в противном случае просто отлично работала день назад.
Очень простое исправление
сначала проверьте, существует ли 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.
Сначала установите nodemon в вашу рабочую папку
npm install nodemon
Добавьте путь nodemon к переменной пути переменной среды системной среды. В моем случае путь nodemon был.
C:\Users\Dell\Desktop\Internship Project\schema\node_modules\.bin
Это сработало для меня.
Вы всегда можете переустановить Node.js. Когда у меня была эта проблема, я не мог ее исправить, но все, что я делал, это обновлял текущую версию Node. Вы можете обновить его по этой ссылке: https://nodejs.org/en/download/
Я хотел добавить, как я исправил эту проблему, так как мне пришлось немного смешать и сопоставить несколько разных решений. Для справки, это для ПК с Windows 10, nodemon отлично работал в течение нескольких месяцев, а затем внезапно команда не была найдена, если она не запускалась локально с npx. Здесь были мои шаги -
npm list -g --depth=0
, в моем случае он был установлен, чтобы начать все сначала...npm uninstall -g nodemon
npm install -g --force nodemon --save-dev
(рекомендуется сначала запустить npm install -g nodemon --save-dev
, выполнить остальные шаги, и если это не работает, повторите шаги 2 и 3, используя --force).npm config get prefix
команды npm config get prefix
, который в моем случае находился в C:\Users\username\AppData\Roaming\npmexport PATH=%PATH%;C:\Users\username\AppData\Roaming\npm;
(Очевидно, замените "имя пользователя" тем, какое у вас имя пользователя, или каким бы ни был путь к файлу, который был получен на шаге 4)Я надеюсь, что это поможет любому, кто боролся с этой проблемой так долго, как я!
--save, -g и изменение сценариев package.json у меня не работали. Вот что сделал: запуск npm start
(или использование npx nodemon
) в командной строке. Я использую Visual Studio код терминала. Когда это успешно, вы увидите это сообщение:
[nodemon] 1.18.9
[nodemon], чтобы перезапустить в любое время, введите rs
[nodemon] смотрит:
[nodemon] начальный node app.js
Удачи!
NPM используется для управления пакетами и их загрузки. Тем не менее, NPX должен использоваться как инструмент для выполнения Node Packages.
Попробуйте использовать NPX nodemon...
Надеюсь это поможет!
Перепробовав все, я переустановил nodejs, после чего проблема была решена.
Мой nodemon исчез после установки babel (почему?).
Перепробовал много вещей. Вот как я это решил:
sudo npm i -g nodemon
Просто переустановите его с помощью sudo. Да уж.
Это сработало для меня...
Установить 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 ...
sudo npm install nodemon -g --save
Наконец-то это сработало для меня. Я надеюсь, что это должно работать и для других