目次
No such file エラー
最近vscodeをアップデートしたよ(ver 1.56.0)という方で、SFTPプラグインを利用して、VSCodeで編集したファイルを、FTP通信によってupload, downloadをいつも通り行うと、No such fileエラーをこの拡張機能が吐き出すようになってしまったと思います。
このエラーは、VSCodeの1.56.0へのアップデートに伴う、内部のNodeバージョンアップ(12系→14系)が原因で、SFTPプラグインはここ2年程度メンテナンスされていないので、Nodeの14系に対する互換性がないために生じているようです。
エラー対処法
現状根本的な解決法は見つかっておらず、一時凌ぎの解決法として、2通りの方法がGithubのissueで議論されていました。
- VSCodeのバージョンを、1.55以下にダウングレードする
- SFTPプラグインのcoreファイルをいじる
できれば、VSCodeのバージョンは下げたくない、という方が多いと思うので、本記事では2番目の方法を紹介します。
いじるcoreファイルは、このパス(Macだと、 /Users/自分のユーザーディレクトリ/.vscode/extensions/liximomo.sftp-1.12.9/node_modules/ssh2-streams/lib/sftp.js)のものです。
このjsファイルの、388行目の、
if (code === STATUS_CODE.OK) {
を、以下コードに変更してください。
if (code === STATUS_CODE.OK || code === STATUS_CODE.NO_SUCH_FILE) {
変更後、VSCodeを再起動 or Reload Windowすると、無事元通りにSFTP通信が行えるようになっていると思います。