開発ではVSCode利用しています。で、ファイルを保存するとローカルのVMにSFTPでファイルアップロードしてそのまま確認できる。というような感じの開発環境です。
プラグインはこれです。SFTPプラグインです。
SFTP - Visual Studio Marketplace
Extension for Visual Studio Code - SFTP/FTP sync
エラーがでる
VSCodeを最新の1.57.1にアップデートして、SFTP拡張機能を利用してファイルをアップロードすると、エラーを吐くようになりました。ファイルをアップロードは出来ているものの、エラーが出ます。
2021/06/19追記
VSCodeの最新1.57.1でも同様の現象が発生しており、同じ手順で対応することが出来ます。
No such file(ファイルが見つかりません)だそうです。
どうも、内部のNodeのバージョンが上がったことによる、仕様変更について行けなくなったようですね。SFTPプラグインの更新が2019年で止まっているので、まぁ仕方ないですね。
コードを変更して対応
世の中、素晴らしい方がいます。あやかります。
~/.vscode/extensions/liximomo.sftp-1.12.9/node_modules/ssh2-streams/lib/sftp.jsの2928行目辺りに以下
options.autoDestroy = false;
を一行追加します。WriteStrimgという関数の中ですね。
SFTP error upload no such file after update VS code 1.56.0 · Issue #919 · liximomo/vscode-sftp
Issue Type: Bug while upload a file from local to remote, it show an error no such file and connection time out 10000. b...
function WriteStream(sftp, path, options) {
if (options === undefined)
options = {};
else if (typeof options === 'string')
options = { encoding: options };
else if (options === null || typeof options !== 'object')
throw new TypeError('"options" argument must be a string or an object');
else
options = Object.create(options);
// For backwards compat do not emit close on destroy.
options.emitClose = false;
options.autoDestroy = false; // これを追加する
WritableStream.call(this, options);
一旦解決しました!