Wie debugge ich "Error: spawn ENOENT" auf node.js?

350

Wenn ich folgenden Fehler erhalte:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)

Wie kann ich vorgehen, um das Problem zu beheben?

Anmerkung des Autors : Viele Probleme mit diesem Fehler haben mich dazu ermutigt, diese Frage für zukünftige Referenzen zu posten.

Verwandte Fragen:

Laconbass
quelle
In meinem Fall habe ich den gesamten Befehl als String übergeben, wie Sie es tun würden, execanstatt den Befehl als erstes Argument und die Optionen als Array für das zweite Argument zu übergeben. zB habe ich spawn( "adb logcat -c" )statt gemacht spawn( "adb", [ "logcat", "-c" ] ).
Joshua Pinter

Antworten:

235

HINWEIS: Dieser Fehler wird fast immer verursacht, weil der Befehl nicht vorhanden ist, weil das Arbeitsverzeichnis nicht vorhanden ist oder weil nur Windows angezeigt wird.

Ich habe einen besonders einfachen Weg gefunden, um die Ursache zu finden:

Error: spawn ENOENT

Das Problem dieses Fehlers ist, dass die Fehlermeldung nur sehr wenige Informationen enthält, die Ihnen mitteilen, wo sich die Aufrufsite befindet, dh welche ausführbare Datei / welcher Befehl nicht gefunden wird, insbesondere wenn Sie eine große Codebasis haben, in der viele Spawn-Aufrufe vorhanden sind . Wenn wir andererseits den genauen Befehl kennen, der den Fehler verursacht, können wir der Antwort von @laconbass folgen , um das Problem zu beheben.

Ich habe einen sehr einfachen Weg gefunden, um herauszufinden, welcher Befehl das Problem verursacht, anstatt überall in Ihrem Code Ereignis-Listener hinzuzufügen, wie in der Antwort von @laconbass vorgeschlagen. Die Schlüsselidee besteht darin, den ursprünglichen Spawn-Aufruf mit einem Wrapper zu versehen, der die an den Spawn-Aufruf gesendeten Argumente druckt.

Hier ist die Wrapper-Funktion. Platzieren Sie sie oben im index.jsStartskript Ihres Servers oder in einem anderen Format.

(function() {
    var childProcess = require("child_process");
    var oldSpawn = childProcess.spawn;
    function mySpawn() {
        console.log('spawn called');
        console.log(arguments);
        var result = oldSpawn.apply(this, arguments);
        return result;
    }
    childProcess.spawn = mySpawn;
})();

Wenn Sie Ihre Anwendung das nächste Mal ausführen, wird vor der Meldung der nicht erfassten Ausnahme Folgendes angezeigt:

spawn called
{ '0': 'hg',
  '1': [],
  '2':
   { cwd: '/* omitted */',
     env: { IP: '0.0.0.0' },
     args: [] } }

Auf diese Weise können Sie leicht erkennen, welcher Befehl tatsächlich ausgeführt wird, und dann herausfinden, warum nodejs die ausführbare Datei zur Behebung des Problems nicht finden kann.

Jiaji Zhou
quelle
3
Hier ist eine andere Idee: Wechseln Sie einfach spawn()zu exec()und versuchen Sie es erneut. exec()wird Ihnen sagen, welchen Befehl es versucht hat auszuführen.
Adam Monsen
1
Wichtig: Stellen Sie sicher, dass der obige Code so nah wie möglich am Anfang der Haupt-JS-Datei platziert wird. Wenn Sie zuerst andere Module laden, können diese die 'Spawn'-Funktion verstauen und die Überschreibung hier wird niemals aufgerufen.
Dan Nissenbaum
1
Ich habe kein Glück mit dem Skript. Es funktioniert überhaupt nicht.
Newguy
Wie würden Sie diese Methode in einer Grunzdatei verwenden? Ich bin mir nicht sicher, wo ich das hinstellen soll.
Felix Eve
2
Das hat bei mir perfekt funktioniert. Ich habe dies einfach oben in meine Datei gulpfile.js eingefügt und Bingo Bango Bongo, Spawn Logging!
Yann Duran
121

Schritt 1: Stellen Sie sicher spawn, dass der richtige Weg aufgerufen wird

Überprüfen Sie zunächst die Dokumente für child_process.spawn (Befehl, Argumente, Optionen) :

Startet einen neuen Prozess mit den angegebenen commandBefehlszeilenargumenten args. Wenn nicht angegeben, wird argsstandardmäßig ein leeres Array verwendet.

Das dritte Argument wird verwendet, um zusätzliche Optionen anzugeben. Der Standardwert lautet:

{ cwd: undefined, env: process.env }

Verwenden Sie envdiese Option, um Umgebungsvariablen anzugeben, die für den neuen Prozess sichtbar sind. Die Standardeinstellung ist process.env.

Stellen Sie sicher, dass Sie keine Befehlszeilenargumente eingeben commandund der gesamte spawnAufruf gültig ist . Fahren Sie mit dem nächsten Schritt fort.

Schritt 2: Identifizieren Sie den Event Emitter, der das Fehlerereignis ausgibt

Suchen Sie auf Ihrem Quellcode für jeden Anruf an spawn, oder child_process.spawn, das heißt

spawn('some-command', [ '--help' ]);

und fügen Sie dort einen Ereignis-Listener für das 'Fehler'-Ereignis hinzu, damit Sie den genauen Ereignis-Emitter bemerken, der es als' Nicht behandelt 'auslöst. Nach dem Debuggen kann dieser Handler entfernt werden.

spawn('some-command', [ '--help' ])
  .on('error', function( err ){ throw err })
;

Wenn Sie ausführen, sollten Sie den Dateipfad und die Zeilennummer erhalten, in der Ihr 'Fehler'-Listener registriert wurde. Etwas wie:

/file/that/registers/the/error/listener.js:29
      throw err;
            ^
Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)

Wenn die ersten beiden Zeilen noch sind

events.js:72
        throw er; // Unhandled 'error' event

Führen Sie diesen Schritt erneut aus, bis dies nicht mehr der Fall ist. Sie müssen den Listener identifizieren, der den Fehler ausgibt, bevor Sie mit dem nächsten Schritt fortfahren.

Schritt 3: Stellen Sie sicher, dass die Umgebungsvariable festgelegt $PATHist

Es gibt zwei mögliche Szenarien:

  1. Sie verlassen sich auf das Standardverhalten spawn, sodass die untergeordnete Prozessumgebung dieselbe ist wie process.env.
  2. Sie geben explizit ein envObjekt spawnan das optionsArgument weiter.

In beiden Szenarien müssen Sie den PATHSchlüssel für das Umgebungsobjekt überprüfen, das der erzeugte untergeordnete Prozess verwendet.

Beispiel für Szenario 1

// inspect the PATH key on process.env
console.log( process.env.PATH );
spawn('some-command', ['--help']);

Beispiel für Szenario 2

var env = getEnvKeyValuePairsSomeHow();
// inspect the PATH key on the env object
console.log( env.PATH );
spawn('some-command', ['--help'], { env: env });

Das Fehlen von PATH(dh es ist undefined) führt dazu spawn, dass der ENOENTFehler ausgegeben wird , da es nicht möglich ist, einen zu finden, es commandsei denn, es handelt sich um einen absoluten Pfad zur ausführbaren Datei.

Wenn PATHes richtig eingestellt ist, fahren Sie mit dem nächsten Schritt fort. Es sollte ein Verzeichnis oder eine Liste von Verzeichnissen sein. Letzter Fall ist der übliche.

Schritt 4: Stellen Sie sicher command, dass in einem Verzeichnis der in definierten Verzeichnisse vorhanden istPATH

Spawn kann den ENOENTFehler ausgeben , wenn der Dateiname command(dh 'some-command') in mindestens einem der definierten Verzeichnisse nicht vorhanden ist PATH.

Suchen Sie den genauen Ort von command. Bei den meisten Linux-Distributionen kann dies mit dem whichBefehl von einem Terminal aus erfolgen . Hier erfahren Sie den absoluten Pfad zur ausführbaren Datei (wie oben) oder ob sie nicht gefunden wurde.

Beispiel für die Verwendung und deren Ausgabe, wenn ein Befehl gefunden wird

> which some-command
some-command is /usr/bin/some-command

Beispiel für die Verwendung und deren Ausgabe, wenn ein Befehl nicht gefunden wird

> which some-command
bash: type: some-command: not found

Fehlinstallierte Programme sind die häufigste Ursache für einen nicht gefundenen Befehl. Lesen Sie bei Bedarf die einzelnen Befehlsdokumentationen und installieren Sie sie.

Wenn der Befehl eine einfache Skriptdatei ist, stellen Sie sicher, dass Sie über ein Verzeichnis auf der Website darauf zugreifen können PATH. Wenn dies nicht der Fall ist, verschieben Sie es entweder auf eins oder erstellen Sie einen Link dazu.

Sobald Sie festgestellt haben, dass PATHes richtig eingestellt commandist und von dort aus darauf zugegriffen werden kann, sollten Sie in der Lage sein, Ihren untergeordneten Prozess zu erzeugen, ohne spawn ENOENTgeworfen zu werden.

Laconbass
quelle
1
Dies war sehr hilfreich für mein Debuggen von Spawn ENOENT. Ich habe es mehrfach referenziert. Vielen Dank!
CodeManiak
36
Ich habe auch festgestellt, dass ENOENT ausgelöst wird, wenn Sie cwdin den Optionen angeben , aber das angegebene Verzeichnis existiert nicht.
Daniel Imfeld
4
@ DanielImfeld TOTAL SAVIOR. Sie sollten eine Antwort schreiben, die dies sagt.
GreenAsJade
4
Wenn Sie verwenden , spawn('some-command', ['--help'], { env: env });wie für Schritt 3 in dieser Antwort beispielhaft und eine benutzerdefinierte Umgebung sind vorbei, sicher sein , die angeben PATH, zum Beispiel: { env: { PATH: process.env.PATH } }. Die env-Option erbt standardmäßig keine Variablen von Ihrer aktuellen env.
Anty
5
Ich konnte mein Problem lösen, indem ich shell: truezu den Spawn-Optionen überging.
Nickofthyme
35

Wie @DanielImfeld darauf hingewiesen hat , wird ENOENT ausgelöst, wenn Sie in den Optionen "cwd" angeben, das angegebene Verzeichnis jedoch nicht vorhanden ist.

Leeroy Brun
quelle
1
Gibt es also eine Möglichkeit, den Befehl in einem bestimmten Verzeichnis auszuführen?
Mitro
In Windows (7) müssen Sie anscheinend auch den Laufwerksbuchstaben in den cwdPfad
einfügen
29

Windows - Lösung: Ersetzen Sie spawnmit Knoten-Quer Laich . Zum Beispiel so am Anfang Ihrer app.js:

(function() {
    var childProcess = require("child_process");
    childProcess.spawn = require('cross-spawn');
})(); 
Nilzor
quelle
2
funktioniert, außer es ist ein Drop-In, keine Notwendigkeit für child_process. Genau wie beim Spawn oder SpawnSync des Knotens, es ist also ein Rückgang des Ersatzes. var spawn = require('cross-spawn'); // Spawn NPM asynchronously var child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });
Bogdan Trusca
27

@ laconbass Antwort hat mir geholfen und ist wahrscheinlich am richtigsten.

Ich bin hierher gekommen, weil ich Spawn falsch verwendet habe. Als einfaches Beispiel:

Das ist falsch:

const s = cp.spawn('npm install -D suman', [], {
    cwd: root
});

Das ist falsch:

const s = cp.spawn('npm', ['install -D suman'], {
    cwd: root
});

das ist richtig:

const s = cp.spawn('npm', ['install','-D','suman'], {
    cwd: root
});

Ich empfehle es jedoch folgendermaßen:

const s = cp.spawn('bash');
s.stdin.end(`cd "${root}" && npm install -D suman`);
s.once('exit', code => {
   // exit
});

Dies liegt daran, dass das cp.on('exit', fn)Ereignis dann immer ausgelöst wird, solange bash installiert ist. Andernfalls wird das cp.on('error', fn)Ereignis möglicherweise zuerst ausgelöst, wenn wir es auf die erste Weise verwenden und 'npm' direkt starten.

Alexander Mills
quelle
1
Denken Sie daran, meine Antwort zu überarbeiten, um einen "allgemeinen Leitfaden" bereitzustellen, und Details zu jeder Ursache des Problems zu hinterlassen (Fehlabhängigkeiten, falsche Anrufe, falsche Umgebung, ...).
Laconbass
2
Jeder, der diese Antwort mag, könnte auch an dieser nativen Alternative interessiert sein: gist.github.com/ORESoftware/7bf225f0045b4649de6848f1ea5def4c
Alexander Mills
1
Downvoted, denn wenn Sie eine Shell haben möchten, sollten Sie diese verwenden child_process.execoder an shell: truesie übergeben spawn.
Givanse
@givanse nicht unbedingt wahr - Sie möchten möglicherweise zsh oder bash oder fsh ausführen, je nachdem, welche Shell Sie verwenden möchten, und das Verhalten ist auch anders
Alexander Mills
22

Für ENOENT unter Windows kann https://github.com/nodejs/node-v0.x-archive/issues/2318#issuecomment-249355505 das Problem beheben.

zB Spawn ersetzen ('npm', ['-v'], {stdio: 'erben'}) durch:

  • für alle node.js version:

    spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['-v'], {stdio: 'inherit'})
  • für node.js 5.x und höher:

    spawn('npm', ['-v'], {stdio: 'inherit', shell: true})
Li Zheng
quelle
1
Wo werden diese Änderungen vorgenommen?
Deilan
8
Der Schlüsselteil ist das Hinzufügenshell: true
Ted Nyberg
19

Wenn alle anderen Antworten nicht hilfreich sind und Sie unter Windows arbeiten, sollten Sie wissen, dass derzeit ein großes Problem mit spawnWindows und der PATHEXTUmgebungsvariablen vorliegt, das dazu führen kann, dass bestimmte Aufrufe je nach Art nicht funktionieren Der Zielbefehl ist installiert.

Alex Turpin
quelle
2
Und was ist die Lösung?
Nilzor
6
Die Verwendung von Node-Cross-Spawn hat bei mir funktioniert. Siehe Antwort unten: stackoverflow.com/a/35561971/507339
Nilzor
1
Verbrachte Ewigkeiten damit, herauszufinden, was los war, und dies war schließlich das Problem. Ich gab auf spawnund benutzte execstattdessen nur.
reduziert
8

In meinem Fall wurde dieser Fehler ausgelöst, weil die erforderlichen abhängigen Systemressourcen nicht installiert wurden.

Insbesondere habe ich eine NodeJS-App, die ImageMagick verwendet. Trotz der Installation des npm-Pakets wurde der Linux-Kern-ImageMagick nicht installiert. Ich habe ImageMagick installiert und danach hat alles super funktioniert!

PromInc
quelle
Muss in Windows auch ImageMagick installiert sein?
Ich teste
6

in Windows einfach hinzufügen shell: true Option mein Problem:

falsch:

const { spawn } = require('child_process');
const child = spawn('dir');

richtig:

const { spawn } = require('child_process');
const child = spawn('dir', [], {shell: true});
ashkan nasirzadeh
quelle
5

Ändern Sie die env Option?

Dann schauen Sie sich diese Antwort an.


Ich habe versucht, einen Knotenprozess zu erzeugen und TIL, dass Sie die vorhandenen Umgebungsvariablen verbreiten sollten, wenn Sie erzeugen, sonst verlieren Sie die PATH Umgebungsvariable und möglicherweise andere wichtige.

Dies war die Lösung für mich:

const nodeProcess = spawn('node', ['--help'], {
  env: {
    // by default, spawn uses `process.env` for the value of `env`
    // you can _add_ to this behavior, by spreading `process.env`
    ...process.env,
    OTHER_ENV_VARIABLE: 'test',
  }
});
Rico Kahler
quelle
4

Bevor jemand zu viel Zeit mit dem Debuggen dieses Problems verbringt, kann es meistens durch Löschen node_modulesund erneutes Installieren der Pakete behoben werden.

Installieren:

Wenn eine Sperrdatei vorhanden ist, können Sie diese verwenden

yarn install --frozen-lockfile

oder

npm ci

respektvoll. wenn nicht, dann

yarn install

oder

npm i
InsOp
quelle
Wow so eine einfache Lösung und es hat bei mir funktioniert! Jeder sollte dies zuerst versuchen, um zu sehen, ob es das Problem löst.
Nick K
2

Ich bin auf dasselbe Problem gestoßen, habe aber einen einfachen Weg gefunden, es zu beheben. Es scheint zu seinspawn() Fehler , wenn das Programm vom Benutzer zum PATH hinzugefügt wurde (z. B. funktionieren normale Systembefehle).

Um dies zu beheben, können Sie das welche Modul ( npm install --save which) verwenden:

// Require which and child_process
const which = require('which');
const spawn = require('child_process').spawn;
// Find npm in PATH
const npm = which.sync('npm');
// Execute
const noErrorSpawn = spawn(npm, ['install']);
Gum Joe
quelle
2

Verwenden Sie require('child_process').execanstelle von Spawn für eine spezifischere Fehlermeldung!

zum Beispiel:

var exec = require('child_process').exec;
var commandStr = 'java -jar something.jar';

exec(commandStr, function(error, stdout, stderr) {
  if(error || stderr) console.log(error || stderr);
  else console.log(stdout);
});
de Raad
quelle
1

Stellen Sie sicher, dass das auszuführende Modul installiert ist oder dass der vollständige Pfad zum Befehl vorhanden ist, wenn es sich nicht um ein Knotenmodul handelt

Dalton
quelle
1

Ich habe dieses nervige Problem auch beim Ausführen meiner Testfälle durchlaufen, also habe ich viele Möglichkeiten ausprobiert, um es zu vermitteln. Für mich funktioniert es jedoch so, dass Sie Ihren Testläufer aus dem Verzeichnis ausführen, das Ihre Hauptdatei enthält, die die Spawn- Funktion Ihres Knotens enthält.

nodeProcess = spawn('node',params, {cwd: '../../node/', detached: true });

Dieser Dateiname lautet beispielsweise test.js. Wechseln Sie einfach in den Ordner, in dem er enthalten ist . In meinem Fall ist es ein Testordner wie folgt:

cd root/test/

dann von deinem Testläufer in meinem Fall seinen Mokka laufen lassen, so wird es so sein:

mocha test.js

Ich habe mehr als einen Tag damit verbracht, es herauszufinden. Genießen!!

Rajkumar Bansal
quelle
1

Ich bin unter Windows auf dieses Problem gestoßen, bei dem das Aufrufen execund spawnmit genau demselben Befehl (ohne Argumente) gut funktioniert hat exec(also wusste ich, dass mein Befehl aktiviert war $PATH), aber spawnENOENT geben würde. Es stellte sich heraus, dass ich nur .exean den Befehl anhängen musste , den ich verwendete:

import { exec, spawn } from 'child_process';

// This works fine
exec('p4 changes -s submitted');

// This gives the ENOENT error
spawn('p4');

// But this resolves it
spawn('p4.exe');
// Even works with the arguments now
spawn('p4.exe', ['changes', '-s', 'submitted']);
Meistens armlos
quelle
0

Ich habe diesen Fehler erhalten, als ich versucht habe, ein node.js-Programm im VS Code-Editor auf einem Debian Linux-System zu debuggen. Mir ist aufgefallen, dass das Gleiche unter Windows funktioniert hat. Die hier angegebenen Lösungen waren keine große Hilfe, da ich keine "Spawn" -Befehle geschrieben hatte. Der fehlerhafte Code wurde vermutlich von Microsoft geschrieben und unter der Haube des VS Code-Programms versteckt.

Als nächstes bemerkte ich, dass node.js unter Windows Node heißt, aber unter Debian (und vermutlich auf Debian-basierten Systemen wie Ubuntu) Nodejs. Also habe ich einen Alias ​​erstellt - von einem Root-Terminal aus bin ich gelaufen

ln -s / usr / bin / nodejs / usr / local / bin / node

und das löste das Problem. Das gleiche oder ein ähnliches Verfahren funktioniert vermutlich in anderen Fällen, in denen Ihre node.js als nodejs bezeichnet wird, Sie jedoch ein Programm ausführen, das erwartet, dass es als node bezeichnet wird, oder umgekehrt.

MTGradwell
quelle
0

Wenn Sie unter Windows Node.js arbeiten, werden beim Umgang mit Anführungszeichen einige lustige Geschäfte gemacht, die dazu führen können, dass Sie einen Befehl ausgeben, von dem Sie wissen, dass er über die Konsole funktioniert, jedoch nicht, wenn er in Node ausgeführt wird. Zum Beispiel sollte Folgendes funktionieren:

spawn('ping', ['"8.8.8.8"'], {});

scheitert aber. Es gibt eine fantastisch undokumentierte Option windowsVerbatimArgumentsfür den Umgang mit Anführungszeichen / Ähnlichem, die den Trick zu tun scheint. Fügen Sie Ihrem opts-Objekt jedoch Folgendes hinzu:

const opts = {
    windowsVerbatimArguments: true
};

und Ihr Befehl sollte wieder im Geschäft sein.

 spawn('ping', ['"8.8.8.8"'], { windowsVerbatimArguments: true });
Joel B.
quelle
Zitieren
@laconbass Dies ist ein offensichtlich triviales Beispiel, um das Konzept zu vermitteln, sodass die Anführungszeichen entfernt werden könnten. Es gibt jedoch Fälle, in denen Sie die Argumente unbedingt zitieren müssen (z. B. wenn Sie ein Argument übergeben müssen, das einen Pfad mit einem Leerzeichen enthält: "C: \ Programme \ ..." ). Ich habe es hier gepostet, weil es, obwohl es möglicherweise nicht die Ursache für Ihren speziellen Fehlerfall war, hoffentlich jemand anderem hilft, bei dem dieser kryptische Fehler auftritt, da Node unter Windows mit Zitaten umgeht, wie ich es erlebt habe.
Joel B
node.js macht bereits einige Black Magic und zitiert Argumente stillschweigend "richtig". Ihr Beispiel sollte ohne die von Ihnen erwähnte undokumentierte Option funktionieren, indem Sie das Argument innerhalb des Arrays aufheben.
Laconbass
Um meine eigene Erfahrung hinzuzufügen, habe ich einen Java-Prozess vom Knoten aus ausgeführt. Dieser Fehler ist mir aufgrund von Anführungszeichen um den Befehl und nicht aufgrund des Arguments passiert. Testen Sie mit Leerzeichen im Befehlspfad und es funktioniert immer noch ohne Anführungszeichen
Troncoso
0

Lösung in meinem Fall

var spawn = require('child_process').spawn;

const isWindows = /^win/.test(process.platform); 

spawn(isWindows ? 'twitter-proxy.cmd' : 'twitter-proxy');
spawn(isWindows ? 'http-server.cmd' : 'http-server');
Dan Alboteanu
quelle
1
Während dies eine Lösung für gewinnspezifische Korrekturen sein kann, sehe ich nicht, wie es hilft, die wahre Ursache des ENOENT
Laconbass
Ich habe keine Ahnung warum, aber der Spawn-Aufruf würde in der Node Repl ohne die funktionieren .cmd, aber in einem Typoskript- Scherztest fehlschlagen. - Dieser Fehler kann ziemlich schwer herauszufinden sein, diese Antworten verdienen mehr positive Stimmen.
Mathieu CAROFF
0

Falls Sie sich erleben Sie dieses Problem mit einer Anwendung , deren Quelle man bedenkt , nicht ändern kann sie mit dem Umgebungsvariablen Aufruf NODE_DEBUGSatz child_process, zum Beispiel NODE_DEBUG=child_process yarn test. Auf diese Weise erhalten Sie Informationen darüber, welche Befehlszeilen in welchem ​​Verzeichnis aufgerufen wurden, und normalerweise ist das letzte Detail der Grund für den Fehler.

Karl Richter
quelle
0

Obwohl dies für einige Benutzer ein Umgebungspfad oder ein anderes Problem sein kann, habe ich gerade die Latex Workshop-Erweiterung für Visual Studio Code unter Windows 10 installiert und diesen Fehler beim Versuch, die PDF-Datei zu erstellen / in der Vorschau anzuzeigen, festgestellt. Das Ausführen von VS Code als Administrator hat das Problem für mich gelöst.

Steve
quelle
1
Wieder verwandt do Dateisystempfad irgendwie. Die Erweiterung kann wahrscheinlich keinen Pfad ohne Administratorrechte erreichen
laconbass
-1

Ich habe den gleichen Fehler für Windows 8 erhalten. Das Problem liegt daran, dass eine Umgebungsvariable Ihres Systempfads fehlt. Fügen Sie Ihrer System-PATH-Variablen den Wert "C: \ Windows \ System32 \" hinzu.

Chaya Sandamali
quelle
-2

In C:\Windows\System32\an die pathUmgebungsvariable.

Schritte

  1. Gehen Sie zu meinem Computer und Eigenschaften

  2. Klicken Sie auf Erweiterte Einstellungen

  3. Dann auf Umgebungsvariablen

  4. Wählen Sie Pathund klicken Sie dann auf Bearbeiten

  5. Fügen Sie Folgendes ein, falls nicht bereits vorhanden: C:\Windows\System32\

  6. Schließen Sie die Eingabeaufforderung

  7. Führen Sie den Befehl aus, den Sie ausführen möchten

Screenshot der Windows 8-Umgebungsvariablen

vmit dhawan
quelle
3
Dies ist ein Duplikat von Chayasans Antwort
Emile Bergeron