remote-ftp插件在2026年已彻底失效,因其自2021年起停止维护,底层ftp模块与atom 1.60+及新版系统(macos sonoma、windows 11、ubuntu 22.04+)的node.js/electron严重冲突,导致启动即报cannot find module 'ftp',非配置问题;替代方案为sshfs挂载或改用ftp-remote-edit插件。

Remote-FTP 插件在 2026 年已不可用,不是配置问题,而是底层依赖崩溃导致的硬性失效。
Remote-FTP 启动就报 Cannot find module 'ftp' 怎么办
这不是你漏装依赖,是插件作者早在 2021 年就停止维护,其依赖的 ftp 模块与 Atom 1.60+ 内置的 Electron/Node.js 版本冲突。macOS Sonoma、Windows 11、Ubuntu 22.04+ 用户基本无法绕过。
- 降级 Atom 到 1.58 以下会引发新问题:SSL 连接失败、中文路径乱码、PASV 超时等
- 手动 npm install ftp 或 patch node_modules 会破坏 Atom 安全沙箱,且每次更新自动清空
- 社区早已无人修复,GitHub issues 页面最后有效回复停留在 2022 年
连得上但侧边栏空白,remote 目录不显示文件
常见原因不是网络不通,而是协议错配或权限卡死。插件不会报错,只静默失败。
-
"protocol": "sftp"却填了"port": 21,或反过来填"protocol": "ftp"+"port": 22—— 两者协议栈完全不兼容 -
"remote"必须是绝对路径,如"/home/deploy/app";写成"app"或"./app"就列不出任何内容 - 用户对远程目录只有
r-x(执行权),缺r--(读权),ls命令直接失败,但插件不提示 - 打开
View → Developer → Toggle Developer Tools,在 Console 中搜remote-ftp,真实错误如Permission denied (publickey)才会浮现
用密钥登录却卡在 Connecting... 不弹框
remote-ftp 对私钥路径和权限极其敏感,加载失败即静默终止,不给任何反馈。
-
privatekey字段必须是绝对路径,例如"/Users/you/.ssh/id_rsa";不能用~或相对路径 - 本地私钥文件权限必须为
600:chmod 600 ~/.ssh/id_rsa,否则 SSH 库直接拒绝加载 -
promptForPass必须设为true,否则密钥有口令时也不弹输入框 - 远程
~/.ssh/authorized_keys必须已写入对应公钥,ssh-copy-id user@host是最稳方式
为什么 sshfs 挂载比插件更可靠
因为它是操作系统级挂载,Atom 完全感知不到“远程”存在,所有功能照常运行——但前提是避开 Atom 自身的监听器缺陷。
- macOS:装
brew install sshfs,再运行sshfs user@host:/path ~/mnt/remote -o follow_symlinks - Windows:装 WinFsp + SSHFS-Win,右键“Map network drive”,填
sftp://user@host/path - Linux:确保用户在
fuse组,mkdir -p ~/mnt/remote后执行sshfs user@host:/path ~/mnt/remote - 挂好后,在 Atom 中
File → Add Project Folder打开~/mnt/remote,编辑保存即实时同步 - 别挂整个
node_modules或日志目录:Atom 的chokidar监听器对网络文件系统支持差,一碰就触发ENOTCONN卡死
真正麻烦的从来不是“怎么连”,而是密钥权限、fuse 用户组、挂载点目录权限、sshd_config 是否启用 SFTPSubsystem 这些零散但致命的细节。漏一个,整个流程就卡在 Connecting... 不动。











