2015-12-08 8 views
6

Ich habe ein Knoten-Skript in Heroku bereitgestellt, um von einem Scheduler ausgeführt werden. Aber wenn das Skript läuft, sehe ich eine Warnung in den Protokollen.Heroku-Protokoll Warnung "(Knoten) sys ist veraltet. Verwenden Sie util stattdessen" wenn Skript läuft

Dec 07 11:01:10 xxx heroku/scheduler.3255 Starting process with command `node bin/script` 
Dec 07 11:01:13 xxx app/scheduler.3255: (node) sys is deprecated. Use util instead. 

habe ich einen engine Abschnitt in meinem package.json nicht deklariert.

Ist ein Problem mit der Knotenversion? Wie kann ich diese Warnung vermeiden?

Danke!

Antwort

7

Dies geschieht, weil (offensichtlich) 'sys' veraltet ist und durch 'util' ersetzt wurde.

Wenn Sie nicht direkt 'sys' verwenden (suchen Sie in Ihrer Codebasis nach etwas wie require('sys')), dann könnte eines der Module, auf die Sie angewiesen sind (oder seine Abhängigkeiten), sein.

Um das problematische Modul zu finden, machen Sie ein npm install auf Ihrem Projekt und dann grep für require('sys') (oder mit doppelten Anführungszeichen), um zu sehen, ob Sie das Modul finden können. Beispiel grep Befehl:

grep -r "require('sys')" . 

Wenn Sie wirklich, dass warnen wollen weg gehen, und es ist in einer Abhängigkeit oder Unterabhängigkeit dann haben Sie ein paar Möglichkeiten:

  1. das Modul ersetzen, die sys mit ist mit eine, die noch nicht die gleiche Funktionalität bietet. (Stellen Sie sicher, dass keine aktuellere Version des Moduls vorhanden ist, das dieses Problem behoben hat.)
  2. Senden Sie eine Pull-Anforderung, um das Problem im Modul zu beheben.
Verwandte Themen