Nodemon: Nodemon не перезапускает сервер при изменении файлов

Созданный на 5 янв. 2014  ·  32Комментарии  ·  Источник: remy/nodemon

Обновлено до версии 1.0.1, а затем до версии 1.0.4, и я не могу перезапустить сервер при изменении файла.

C:\wamp\www\DoLyfe>nodemon -V --dump server.js
5 Jan 20:56:41 - [nodemon] v1.0.4
5 Jan 20:56:41 - [nodemon] to restart at any time, enter `rs`
5 Jan 20:56:41 - [nodemon] ignoring: .git/* node_modules/**/node_modules/*
5 Jan 20:56:41 - [nodemon] watching: *.*
5 Jan 20:56:41 - [nodemon] watching extensions: js
--------------
{ run: false,
  system: { noWatch: false, watchWorks: false },
  required: false,
  dirs: [ 'C:\\wamp\\www\\DoLyfe' ],
  timeout: 1000,
  options:
   { verbose: true,
     dump: true,
     script: 'server.js',
     args: [],
     ignore:
      [ '.git/',
        'node_modules/**/node_modules/',
        re: /\.git/|node_modules/.*.*/node_modules// ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     execOptions:
      { script: 'server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git/*', '!node_modules/**/node_modules/*' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [] }
--------------
OS: win32 x64
node: v0.10.22
nodemon: v1.0.4
cwd: C:\wamp\www\DoLyfe
command: node C:\Users\Alex\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js -V --dump server
.js
--------------
5 Jan 20:56:41 - [nodemon] exiting

Я изменяю и сохраняю server.js и другие файлы js во вложенных папках, и ничего не происходит (сервер не перезагружается, также тестируется с фактическим выводом страницы).

bug windows

Самый полезный комментарий

http://www.reactiongifs.us/wp-content/uploads/2013/03/nevermind_nathan_fillion.gif

Все 32 Комментарий

Подтверждено.

Дерьмо. В теме.

Исправлено исправление, просто проводя тесты на всех платформах (надеюсь, все будет хорошо!)

Исправлено и в npm под [email protected]

Обновился до версии 1.0.5, но все еще не работает:

C:\wamp\www\DoLyfe>nodemon -V --dump server.js
6 Jan 00:34:03 - [nodemon] v1.0.5
6 Jan 00:34:03 - [nodemon] to restart at any time, enter `rs`
6 Jan 00:34:03 - [nodemon] ignoring: .git/* node_modules/**/node_modules/*
6 Jan 00:34:03 - [nodemon] watching: *.*
6 Jan 00:34:03 - [nodemon] watching extensions: js
--------------
{ run: false,
  system: { noWatch: false, watchWorks: false },
  required: false,
  dirs: [ 'C:\\wamp\\www\\DoLyfe' ],
  timeout: 1000,
  options:
   { verbose: true,
     dump: true,
     script: 'server.js',
     args: [],
     ignore:
      [ '.git/',
        'node_modules/**/node_modules/',
        re: /\.git/|node_modules/.*.*/node_modules// ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     execOptions:
      { script: 'server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git/*', '!node_modules/**/node_modules/*' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [] }
--------------
OS: win32 x64
node: v0.10.22
nodemon: v1.0.5
cwd: C:\wamp\www\DoLyfe
command: node C:\Users\Alex\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js -V --dump server
.js
--------------
6 Jan 00:34:03 - [nodemon] exiting

Примечание. Моя командная строка:

nodemon -V server.js

И файл находится в папке, в которую вводится эта команда.

http://www.reactiongifs.us/wp-content/uploads/2013/03/nevermind_nathan_fillion.gif

Хорошо, поэтому я вижу из вашей конфигурации, что watchWorks: false - когда это должно быть правдой ... вот что вызывает эту проблему.

Какая у вас ОС Windows? (Я тестировал на XP ... наверное, немного заниженный!) И на какой версии узла (я тестировал v0.10.23).

Не могли бы вы также попробовать это и прислать мне результат:

var fs = require('fs'),
    crypto = require('crypto'),
    file = 'test' + crypto.randomBytes(16).toString('hex');

console.log('watching', file);

fs.writeFileSync(file, 'ok');

setTimeout(function () {
  fs.watch(file, { persistent: false }, function (event, filename) {
    console.log('fs.watch worked', filename);
  });
}, 1000);

fs.watchFile(file, function (a, b) {
  console.log('watchFile worked');
})

setTimeout(function () {
  fs.writeFileSync(file, 'ok1');
}, 2000);

Не с nodemon, а просто как "node script.js".

Привет,

Я тоже сталкиваюсь с этой проблемой. Я использую Windows 8.1 (x64), Node 0.10.24.

Результат этой команды для меня следующий:

>node test.js
watching test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch worked test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch worked test5aa09b09f6618bf5fd3c3d53fba9bd1f
watchFile worked

Если я открою сгенерированный файл и добавлю к нему что-нибудь, то снова получу те же сообщения.

Благодаря!

Можете ли вы также включить вывод nodemon --dump чтобы я мог проверить ваш
config.

В воскресенье, 5 января 2014 г., gaborpro писал:

Привет,

Я тоже сталкиваюсь с этой проблемой. Я использую Windows 8.1 (x64), Node 0.10.24.

Результат этой команды для меня следующий:

узел test.js
смотрю test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch работал test5aa09b09f6618bf5fd3c3d53fba9bd1f
fs.watch работал test5aa09b09f6618bf5fd3c3d53fba9bd1f
watchFile работал

Если я открою сгенерированный файл и что-нибудь добавлю к нему, то получу то же самое
сообщения снова.

Благодаря!

-
Ответьте на это письмо напрямую или просмотрите его на Gi tHubhttps: //github.com/remy/nodemon/issues/252#issuecomment -31619873
.

- Реми

Сейчас я работаю, к сожалению, у меня нет доступа к домашней машине. Вечером могу проверить.

Если это поможет, я использую конфигурационный файл по умолчанию, который поставляется с npm.

@remy lol,

Я нахожусь на Win 8 x64 , пробовал с Node v0.10.22 и также обновился до v0.10.24 (кстати, версия узла находится в выводе --dump ).

Вот результат вашего скрипта:

watching test808f642ac04ce787747d5dd5f0581f2a
fs.watch worked test808f642ac04ce787747d5dd5f0581f2a
fs.watch worked test808f642ac04ce787747d5dd5f0581f2a
watchFile worked

--dump вывод с узлом v0.10.24 :

C:\wamp\www\DoLyfe>nodemon -V --dump server.js
6 Jan 14:54:38 - [nodemon] v1.0.5
6 Jan 14:54:38 - [nodemon] to restart at any time, enter `rs`
6 Jan 14:54:38 - [nodemon] ignoring: .git/* node_modules/**/node_modules/*
6 Jan 14:54:38 - [nodemon] watching: *.*
6 Jan 14:54:38 - [nodemon] watching extensions: js
--------------
{ run: false,
  system: { noWatch: false, watchWorks: false },
  required: false,
  dirs: [ 'C:\\wamp\\www\\DoLyfe' ],
  timeout: 1000,
  options:
   { verbose: true,
     dump: true,
     script: 'server.js',
     args: [],
     ignore:
      [ '.git/',
        'node_modules/**/node_modules/',
        re: /\.git/|node_modules/.*.*/node_modules// ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     execOptions:
      { script: 'server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git/*', '!node_modules/**/node_modules/*' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [] }
--------------
OS: win32 x64
node: v0.10.24
nodemon: v1.0.5
cwd: C:\wamp\www\DoLyfe
command: node C:\Users\Alex\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js -V --dump server
.js
--------------
6 Jan 14:54:38 - [nodemon] exiting

@alexilyaev , это здорово - приветствую детали (и да, я забыл, что версия узла была в дампе!).

Это странно, потому что простой тест сработал для вас (чтобы проверить поддержку часов), но параметр конфигурации system.watchWorks имеет значение false.

Не могли бы вы присоединиться ко мне на irc-канале #nodemon на freenode.net? Я хотел бы опробовать несколько скриптов, чтобы попытаться проверить и исправить то, что происходит.

Я только что запустил свою виртуальную машину Windows 8, и это говорит о том, что у нее тоже system.watchWorks = true - так что это странно.

(и теперь я только что оживил свой ноутбук с Windows, и _even_ это верно для watchWorks, но явно не для некоторых из вас, поэтому я хотел бы разобрать его для вас!)

У меня такая же проблема, буду рад помочь если нужно что то попробовать

Релиз скоро выйдет.

Исправлено, подтверждено с помощью этого скрипта: https://gist.github.com/remy/8283715

Подтверждено с помощью 1.0.6 .
Благодаря!

Просто вопрос, выполнение Git запускает эти строки с помощью -V cmd.

6 Jan 20:59:36 - [nodemon] files triggering change check: .git
6 Jan 20:59:36 - [nodemon] changes after filters (before/after): 1/0
6 Jan 20:59:36 - [nodemon] files triggering change check: .git
6 Jan 20:59:36 - [nodemon] changes after filters (before/after): 1/0

Они не запускают перезапуск, но мне интересно, почему они запускаются, если .git входит в список игнорирования?

{
    "ext": "js json",
    "ignore": [
        ".git",
        "app",
        "config",
        "logs",
        "node_modules",
        "scripts",
        "test"
    ]
}

То же самое для файлов html которые находятся непосредственно в игнорируемой папке (например, app\index.html ), но не на более глубоких уровнях.

И еще один быстрый: могу ли я сказать Nodemon отслеживать только 1 или несколько файлов (например, server.js ) в каталоге, который он запускает?
Значит, мне не придется игнорировать каждую папку в этом корневом каталоге или помещать server.js в подкаталог?

Если .git указан при проверке триггера - вы правы, его следует полностью игнорировать, исходя из того, что у вас есть в вашем игнорировании. Он каким-то образом проходит проверку (на этой неделе я снова протестирую и посмотрю, могу ли я что-то сделать, чтобы подавить это.

Если вы хотите, чтобы он перезапускался только для одного файла ( server.js я думаю, это то, что вы говорите), просто вставьте это в часы:

{
  "watch": ["server.js"]
}

Теперь nodemon перезапустится, только если изменится server.js .

Отлично, это сработало.
Опять же, все остальные сохранения файлов запускают эти change check строки, даже если он должен прослушивать только один файл.

Глядя на watch.js , я полагаю, что функция ignoredFilter должна быть вызвана перед вызовом filterAndRestart , где и выводятся эти строки.

Спасибо!

@remy Кстати, в чем разница между вашей

То есть, почему в ваших тестах это сработало, а у нас не сработало?

Я действительно не знаю, в чем разница в настройке (может быть, потому что
файловая система на моей виртуальной машине находится в Mac OS, и файловая система каким-то образом
разные, я не знаю), но я вижу из --dump, что
config.system.watchWorks - ложь, а моя - правда.

Но когда я тестировал сегодня вечером, watchWorks оказался ложным, что
почему я смог полностью протестировать это исправление, потому что я смог воспроизвести
оформить правильно.

7 января 2014 г. в 22:18 Алексей Ильяев [email protected] написал:

@remy https://github.com/remy Кстати, в чем разница между
ты Win 8 ВМ и наши сетапы?

То есть, почему в ваших тестах это сработало, а у нас не сработало?

-
Ответьте на это письмо напрямую или просмотрите его на Gi tHubhttps: //github.com/remy/nodemon/issues/252#issuecomment -31786025
.

Привет, @remy , я работаю над API REST с машинописным текстом и использую nodemon для перезагрузки сервера при каждом изменении. Он отлично работает в системах unix, но у других участников есть окна, и он не работает. Ты хоть представляешь, что происходит?

Спасибо.

Не с той информацией, которую вы предложили. Может быть, заставить их использовать окна
платформа bash.

Пт, 18 ноября 2016 г., 22:26 raansilrey, [email protected] написал:

Привет @remy https://github.com/remy , я работаю над API REST с
машинописный текст и я использую nodemon для перезагрузки моего сервера при каждом изменении. Оно работает
отлично работает в системах unix, но у других сотрудников есть окна, и
не работает. Ты хоть представляешь, что происходит?

Спасибо.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/remy/nodemon/issues/252#issuecomment -261658459 или отключить звук
нить
https://github.com/notifications/unsubscribe-auth/AAA1hK1SUmJVf-J4wZTgVLBEz1cc_Yz5ks5q_iYEgaJpZM4BXgow
.

У меня была аналогичная проблема. Я использую Windows 10, и nodemon не перезапускал мою веб-службу, когда я вносил изменения в код. По какой-то причине узел был установлен в C: \ Program Files (x86). Каждый раз, когда я пытался сделать обновление, он жаловался, что мне нужны административные привилегии. Наконец, я просто переместил каталог nodejs в корень моего диска c; \. Теперь все работает нормально, независимо от того, используете ли вы линию CMD или PowerShell

Та же проблема. Linux Mint 18, 64-разрядная версия. Пытался запустить тиддливики-сервер. Вот дамп Nodemon

[nodemon]

1.11.0
[nodemon] для перезапуска в любое время введите rs

[nodemon] Наблюдение:.

узел: v6.9.1
nodemon: 1.11.0
команда: /home/who/.nvm/versions/node/v6.9.1/bin/node /home/who/.nvm/versions/node/v6.9.1/bin/nodemon --dump
cwd: / home / who / yaah / Ildy

ОС: Linux x64

{run: false,
система: {cwd: '/ home / who / yaah / Ildy'},
требуется: false,
dirs: ['/ home / who / yaah / Ildy'],
таймаут: 1000,
параметры:
{дамп: правда,
игнорировать:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'покрытие',
'node_modules',
re: /.git|.nyc_output|.sass-cache|bower_components|coverage|node_modules/],
смотреть: [' . ', re: /. .. /],
ignoreRoot:
['.git',
'.nyc_output',
'.sass-cache',
'bower_components',
'покрытие',
'node_modules'],
перезапускаемый: 'rs',
цвета: правда,
execMap: {py: 'python', rb: 'ruby'},
stdin: правда,
runOnChangeOnly: false,
подробный: ложь,
stdout: правда,
execOptions:
{script: null,
exec: 'узел',
аргументы: [],
scriptPosition: нуль,
nodeArgs: undefined,
ext: 'js, json',
env: {},
execArgs: []},
монитор:
[' . ',
'! .git',
'! .nyc_output',
'! .sass-cache',
'! bower_components',
'! охват',
'! node_modules']},
сигнал: 'SIGUSR2',
load: [Функция],
сброс: [Функция: сброс],
lastStarted: 0,
загружено: [],
watchInterval: null,

команда: {raw: {исполняемый файл: 'узел', аргументы: []}, строка: 'узел'}}

Для информации; Сегодня у меня была такая же проблема с nodemon 1.11.0 и Node v7.10.0. Исправлено, удалив папку .build в моем корневом каталоге. Каталог .build содержал версию моего дерева исходного кода, переведенную через babel. После удаления все снова работало нормально.

Была такая же проблема, но я предполагаю, что причиной ее было то, что родительская папка скрипта имела префикс . (точка).
Не копайте глубже, почему nodemon не перезапускается, когда родительская папка имеет . в имени папки.
Я удалил префикс . и все снова

Использование -L (устаревший вариант) сработало для меня в бродяге
Без него не работает

@iemadk Спасибо за это, это

Была ли эта страница полезной?
0 / 5 - 0 рейтинги