Как я могу запустить 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, спасибо за подтверждение.


Просто попробовал - теперь он работает отлично. Спасибо за обновленный ответ!
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*/

а потом :

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

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


Я подумал, что это самый прямой ответ.
Пол Уэйд,

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


Это сработало для меня! Отладка и точки останова работают отлично. 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


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

2

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

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

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

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

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

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


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.