Как я могу запустить nodemon из WebStorm?

85

Я хотел бы использовать nodemon из среды IDE WebStorm (версия 7). Nodemon наблюдает за одним или несколькими файлами в моей исходной папке и перезапускает процесс узла (в данном случае - сервер Express), когда один из исходных файлов изменяется.

Как настроить WebStorm для использования nodemon в конфигурации запуска , чтобы процесс узла автоматически перезапускался?

Без nodemon я использую следующую конфигурацию в WebStorm, но мне приходится перезапускать процесс node всякий раз, когда я что-то меняю в исходном файле:

  • Интерпретатор узла: /usr/local/bin/node
  • Рабочий каталог: /Users/foo/test
  • Файл JavaScript: server.js

В результате создается конфигурация запуска, работающая node server.jsв указанном каталоге.

Из командной строки я могу использовать следующую команду для использования nodemon для отслеживания изменений файлов: nodemon server.jsв каталоге проекта.

Как мне изменить конфигурацию WebStorm, чтобы он также использовал nodemon ?

нвинклер
источник
Этот вопрос выглядит
примерно в
См. Мой ответ. Stackoverflow.com/a/52463378/7350853 пока использует самую последнюю версию Webstorm.
iwaduarte

Ответы:

146

Похоже, что обходной путь --execбольше не нужен, по крайней мере, при использовании новейшей версии nodemon и Webstorm 7 или 8.

Все, что вам нужно сделать, это указать свой путь к nodemon , получив его путь, запустив его which nodemonв консоли (например /usr/local/bin/nodemon) в разделе «Параметры узла»:

Webstorm с nodemon

@Bela Clark, спасибо за подтверждение.

Bernhardw
источник
Просто попробовал - теперь он работает отлично. Спасибо за обновленный ответ!
nwinkler
8
@bernhardw, webstorm не останавливается на точках останова при запуске отладчика с этими конфигурациями. Есть идеи, почему?
Nik Sumeiko
4
Удалось заставить работать nodemon и точки останова, следуя этим инструкциям: vcfvct.wordpress.com/2015/02/13/ ... Обратите внимание, что я использовал --debug-brk вместо --debug
n00b
1
Чтобы выполнить отладку, мне пришлось использовать плагин Live Edit для IntelliJ вместо nodemon.
engin
1
Хороший ответ! Спасибо
Жюльен
35

Это решение для Windows

Вы можете просто использовать nodemon.cmd вместо node напрямую, например:

Node interpreter : C:\MyPath\To\nodemon.cmd
Node parameters : /*Empty for me*/
Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js
JavaScriptFile : app\index.js /*or just index.js depending on your config*/

а потом :

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

Надеюсь, это поможет тебе.

RPDeshaies
источник
Я подумал, что это самый прямой ответ.
Пол Уэйд,
6
Привет, Пробовал это, и когда я изменяю файл, он спрашивает меня (в консоли Web Storm) «Завершить пакетное задание (Д / Н)?». Я также вижу, что выполняется следующая команда: "C: \ Program Files (x86) \ JetBrains \ WebStorm 8.0.4 \ bin \ runnerw.exe" C: \ Users \ xyz \ AppData \ Roaming \ npm \ nodemon.cmd - -debug-brk = 27344 --nolazy -q app.js. Я что-нибудь упускаю?
Томер Каган
1
для задачи «завершить пакетное задание» просто добавьте «<nul» (исключить кавычки) во ввод «Параметры приложения». (ответ найден здесь: superuser.com/a/498798 )
Тобиас Вейхарт,
Почему за это проголосовали? Это не сработает, когда nodemon перезапускается, он не добавляет «<nul» с самого начала, поэтому вы все равно получите «Завершить пакетное задание (Д / Н)?»
KVM
расположение в Windows - C: \ Users \ <user> \ AppData \ Roaming \ npm \ nodemon.cmd
xor
18

Чтобы установить nodemon , используйте следующее (при необходимости используйте sudo для запуска установки с правами root:

npm install -g nodemon

Это установит nodemon глобально на ваш компьютер.

Затем в конфигурации запуска WebStorm добавьте следующее, оставив все остальное без изменений:

  • Параметры узла: /usr/local/bin/nodemon --exec /usr/local/bin/node

Это указание интерпретатору узел для выполнения nodemonсценария , используя следующую командную строку: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

--execЧасть важна, так как выполнение потерпит неудачу со следующей ошибкой:

/usr/local/bin/node /usr/local/bin/nodemon server.js
4 Oct 13:56:50 - [nodemon] v0.7.10
4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs`
4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test
execvp(): No such file or directory
4 Oct 13:56:50 - [nodemon] starting `node server.js`
4 Oct 13:56:50 - [nodemon] exception in nodemon killing node
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

Ошибка, похоже, вызвана тем, что WebStorm не видит nodeисполняемый файл на своем пути.

Чтобы исправить это, нужно указать местоположение nodeисполняемого файла с помощью --exec /usr/local/bin/nodeпараметра.

Используя эти настройки, nodemon отлично работает при запуске из конфигурации запуска WebStorm. .

Тот же трюк, возможно, придется использовать с некоторыми инструментами, подобными nodemon , например, node-supervisor .

нвинклер
источник
1
Это работает для Run Configuration, но не для Debug. Есть идеи по отладке с помощью nodemon в webstorm?
Ив Амселлем
3
По крайней мере, с Webstorm 8 EAP и nodemon 1.0.15 вам больше не нужно указывать --exec. Все, что мне нужно было сделать, это использовать /usr/local/bin/nodemon"Параметры узла".
Bernhardw
@bernhardw: Я могу подтвердить то же самое
Бала Кларк,
18

Я нахожусь в Windows, и для меня не работал с nodemon (не знаю почему), но кто-то из Jetbrains предложил попробовать с супервизором:

  1. Установил супервизор: npm install supervisor -g

  2. Затем найдите, где supervisorустановлено, для меня было: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Я вернулся к Intellij: отредактируйте конфигурации -> параметры узла -> и добавил: C: \ Users \ AlinC \ AppData \ Roaming \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js –no-restart-on error

редактировать конфигурации

параметры узла

Алин Чокан
источник
1
Чтобы остановиться на точке останова, вы должны добавить это: --debug-brkи полная строка - C:\Users\<username>\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js no-restart-on error --debug-brkПроверка с адреса jetbrains jetbrains.com/phpstorm/webhelp/…
uzay95
1
Не удалось заставить nodemon работать в Windows 8 с Webstorm 9, это сработало как шарм,
Саймон Трюхелла
1
У меня работает (Webstorm 11 в Windows), но точки останова не работают. Я попытался добавить, --debug-brkно безуспешно .
electrotype
14

Для тех, кто интересуется решением в Windows 10, вот моя конфигурация. Он не показывает "Завершить пакет" и работает отлично.

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

Вы нажимаете отладку ОДИН РАЗ, после чего вы можете сохранить файлы изменений, и сервер перезагрузится в режиме отладки. Все тормозные колодки работают отлично

Денко Манчески
источник
это рабочий ответ для отладки. Я устанавливаю только параметры узла. параметры узла в виде текста (изменить имя пользователя): c: \ users \ username \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js --debug = 3001
Алексей Обухов
У меня это не сработало. Добавление параметра --debug = 3001 привело к сбою nodemon
JCF
Спасибо. Базовый прогон работает, а также отладка без проблем! Это должен быть ТОП ответ!
Георгий Пеев
8

Для пользователей Windows установите:

Node Interpreter: путь к node.exe, то есть c: \ program files \ node \ node.exe

Параметр узла: C: \ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js

user3218817
источник
Это сработало для меня! Отладка и точки останова работают отлично. Node версии 10.15.1 nodemon версии 1.18.10 Webstorm 2018.3.5
JCF
5

Вы также можете заставить его работать с nvm, и отладка все еще работает.

Протестировано с Node.js 8.1.0 и Webstorm 2017.2

Сначала убедитесь, что вы используете правильную версию (в моем случае v8.1.0) и установите nodemon глобально -

nvm use v8.1.0
npm install -g nodemon

Затем откройте конфигурации Run / Debug и создайте новую с правильным интерпретатором узла.

Параметры узла должны быть:

MAC

/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

LINUX

/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

Сохраняйте и отлаживайте соответственно :)

Node.js отладка nodemon webstorm

Артипиксель
источник
4

Вот конфигурация, которая работает для меня в Windows 7 + WebStorm 8.0.4. Если я поставил nodemon.cmd в качестве интерпретатора узла, я продолжал получать «Завершить пакетное задание (Д / Н)?».

Nodemon + Webstorm в Windows

Роберт Якубович
источник
см. мой ответ на этот вопрос в Windows, я думаю, вы указали не на тот файл nodemon.cmd
Александр Миллс
3

Если вы установили nodemon как глобальную библиотеку, просто установите параметры узла:

C: \ Users \ $ {yourUser} \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js

nodemon в webstorm

peterzinho16
источник
Работает как шарм через nvm и npm 14.7.0
Евгений Заливадный
2

Это единственное, что у меня сработало:

  1. Добавьте новую команду сценария запуска узла package.json:

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

  1. Создайте NPM CONFIG (не конфигурацию узла)
  2. В качестве команды выберите "start-watch"

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

Для меня это сработало для отладки / точек останова без проблем или дополнительной головной боли.

Человечество1023
источник
1

некоторые из этих ответов работают только на Mac. Для Windows эта конфигурация, похоже, работает (мое имя пользователя в Windows 7 - denman).

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

main.js - это файл отправной точки для моего приложения Express.

Александр Миллс
источник
0
  1. Выполните npm install nodmemon -g
  2. Измените только путь к узлу на nodemon.cmd, в моем случае (C: \ Users \ Rohit Taneja \ AppData \ Roaming \ npm \ nodemon.cmd) вы также получите этот путь после завершения установки nodemon.

  3. Тебе хорошо идти

Рохит Танеха
источник
0

Per @bernhardw комментарий, так как это был ответ для меня -

Все, что нужно, находится в /usr/local/bin/nodemonразделе node parameters Работает для запуска и отладки, поскольку он перезапускается после изменений, но отладка с точкой останова не работает.

Бонус: добавьте -e для дополнительных расширений, например /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, рубин 7.1.4)

HTH

Герцель Гиннесс
источник
0

npm install -g nodemon

1* goto run->Edit Configurations->Press'+' at left corner and choose Node.js

2* Select Node.js and Press '+' 

3* Name as Nodemon, add path in javaScript file: C:\Users\Your_User_Name\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

4* Click Apply and Ok

5* Run the Nodemon

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

Мохаммад набиль
источник
0

Скрипт в package.json: "start": "nodemon --inspect -r babel-register src",

Первая картинка: Запустите отладку, и она начнется

Вторая картинка: прикрепление к существующему работающему узлу Настройки введите описание изображения здесь

Виктор Богуцкий
источник
0

Вот исправление ошибки, которую я получал ...

Если вы используете Windows + NodeJS + nodemon. С помощью IntelliJ - запустить конфигурацию.

ERROR: starting inspector on failed: address already in use

Когда я использую nodemon версии 1.19.1, я получаю сообщение об ошибке. Когда я использую nodemon версии 1.18.11, он работает!

Удачи...

Саган
источник
0

Просто добавьте новый скрипт в package.jsonвызываемый nodemon (или выберите свое имя)

"scripts": {
  ...
  "nodemon": "nodemon ./bin/www"
}

Затем перейдите в Run / Debug Configuration и добавьте конфигурацию npm . Набор

  • Команда " бежать "
  • Скрипт для " nodemon " (имя, которое вы выбрали в package.json)

пример

ОдкоПП
источник
0

У меня есть разработка для Mac, и, как показывает OdkoPP, я заставил ее работать

"scripts": {
"build": "tsc",
"dev": "nodemon src/index.ts --exec ts-node"
},

Конфигурации запуска / отладки npm: Конфигурации запуска / отладки npm

Хуан Камило Ольгин Лопес
источник