2016-08-31 2 views
2

Ich stehe vor einem seltsamen Problem. Ich habe versucht, die Lösung zu finden, die behoben werden kann, aber ich kann es immer noch nicht herausfinden.require ('os') tmpdir() gibt 2 verschiedene Ergebnisse zurück

Ich verwende den Code in meiner Anwendung

erfordern ('os'). Tmpdir()

es gibt den aktuellen Workspace-Ordner/srv/Arbeitsbereich/

node -e "konsole.log (require ('os'). tmpdir())"

Es gibt zurück/tmp

Das Problem tritt auf der virtuellen Maschine und Server. Es passiert nicht auf meiner Hauptmaschine.

Knoten: v5.7.1

npm: 3.9.5

Kann mir jemand helfen?

+0

Können Sie die Plattform und Version, die Sie teilen arbeiten? –

+0

Wird Ihre App unter einem anderen Betriebssystembenutzer ausgeführt? –

Antwort

1

Der Wert os.tmpdir() wird durch das TMPDIR oder TMP Umgebungsvariablen (TEMP unter Windows) bestimmt.

Es ist wahrscheinlich, dass etwas diese Umgebungsvariable ändert, wenn Sie Ihre Anwendung ausführen.

Sie müssen untersuchen, ob es sich in Ihrem Code oder in einer von Ihnen verwendeten Bibliothek befindet.

Druck aus dem Wert jedes Umgebungsvariable, um zu sehen, welche überschrieben wurde:

console.log('TMPDIR=', process.env.TMPDIR); console.log('TMP=', process.env.TMP); console.log('TEMP=', process.env.TEMP);

+0

das Konsolenprotokoll hinzugefügt und erhielt das Ergebnis TMPDIR = TMP = undefined TEMP = undefined Karo 'echo $ TMPDIR', bekam'/tmp' –

+0

Und ich versuchte 'Knoten zu laufen -e "console.log (process.env.TMPDIR)" ', return/tmp –

+0

Sie müssen Ihr Projekt (oder npm-Module) durchsuchen und herausfinden, wo die TEMPDIR-Variable auf Ihren Arbeitsbereichspfad gesetzt wird. –

Verwandte Themen