問題タブ [enoent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - node.js での Windows デバッグ「エラー: spawn ENOENT」
Windows 上の spawn pm2 プロセスは、.bat または .exe のみを起動できます。実際に機能させるには {shell: true} を有効にする必要があります。
Windows で spawn をデバッグしているときに、「spawn pm2 ENOENT」というばかげたエラーが明らかになりました。神々の StackOverflow について掘り下げて実際の解決策をまったく見つけられなかった後、私は一連の GitHub の問題を掘り下げ、最終的に Windows スポーンの適切な解決策を見つけました。
真の解決策が見つかりましたhttps://github.com/nodejs/node-v0.x-archive/issues/2318
@DrPizza ソリューション
@OrangeDogとにかく、移植可能なバッチファイルを実際に書くことはできません。
@DrPizza は本日、スポーンに { shell: true } オプションを追加できることを提案しました。私はそのアイデアが好きです。すべての出力をバッファリングすることなく、exec と同じ目的で spawn を使用できます。また、現在、exec と execFile の間に奇妙な違いがあります。これらを同じ関数にすることもできますが、シェル オプションのデフォルトは異なります。@ry、@bnoordhuis、どう思いますか?
私にとって究極の解決策は次のとおりです
let env = env === 'プロダクション' ? '製品': '砂'; // 環境変数のコンテキスト
let deploy = spawn('pm2', ['deploy', env, 'update', '&&', 'pm2', 'deploy', env, 'exec', '"sudo pm2 reload "'], {shell:真実});
node.js - Node.js 名が長すぎます、scandir
私のプロジェクトで始まるフォルダー構造があります user.hash と user は MD5 ハッシュであることに注意してください
今、私がする必要があるのは、次を使用してそのディレクトリ内のファイルを読み取ることです:
私も試しました
どちらの場合も、次のエラーが発生します。
これまでのところ、ファイルパス文字列が長すぎるということを理解しましたか? 特定のパスに制限されている場合、このようなエラーを回避するにはどうすればよいですか?
node.js - node.js - エラー: ENOENT: そのようなファイルまたはディレクトリはありません。リンクを解除します
.wav
ファイルをに変換する以下の関数があります.mp3
。ご覧のとおり、ffmpeg
モジュールを使用してオーディオ ファイルを変換する前に、ファイルが存在するかどうかを確認してから、変換時に新しいファイルのみを保持し、古いファイルを削除します。しかし、時折、コンソールがエラーをスローします。これは、存在しないファイルを (削除) したError: ENOENT: no such file or directory, unlink
ことを意味します。unlink
変換前から既に存在チェックをしているので、リンクを解除するために存在していたはずなので、理由がわかりません。