sublime text 4 用户无法安装原版 sftp 插件,必须改用 sftp-next;配置 sftp-config.json 需填 host、user、password(或 private_key),upload_on_save 默认关闭且仅对已映射目录生效,日志需通过 ctrl+` 控制台查看。

Sublime Text 3 安装 SFTP 插件失败的常见原因
直接从 Package Control 安装 SFTP 失败,大概率不是网络问题,而是 Sublime Text 版本或插件源不匹配。Sublime Text 4 用户无法安装原版 SFTP(它只支持 ST3),强行安装会报错 ImportError: No module named 'urllib3' 或插件菜单完全不出现。
- 确认版本:打开
Help → About Sublime Text,显示Build 3211或类似三位数编号才是 ST3;Build 41xx是 ST4,不能用原版SFTP - ST4 用户必须改用
SFTP-Next(社区维护分支),通过 Package Control 搜索安装即可,名字带-Next后缀 - 如果 Package Control 本身没装好,先用
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)调出命令面板,输入Install Package Control手动补装
配置 SFTP 连接时 sftp-config.json 必填字段
右键项目文件夹 → SFTP: Setup Server 生成的 sftp-config.json 文件里,host、user、password(或 private_key)缺一不可,漏掉任意一个都会提示 Connection failed: Invalid config。
-
host必须是 IP 或域名,不能带ssh://前缀;端口用port字段单独写,不要拼在 host 后面 - 密码登录时,
password字段值必须是明文字符串;如果留空或写null,连接会静默失败 - 密钥登录更安全,但
private_key路径必须是绝对路径(如/Users/xxx/.ssh/id_rsa),相对路径一律无效 - 若服务器禁用了密码登录,只开密钥认证,却没配
private_key,错误信息只会显示Authentication failed,不会说明原因
保存文件后不自动上传?检查 upload_on_save 和路径映射
默认配置下,修改本地文件并保存,SFTP 不会自动同步到服务器——这是设计行为,不是 bug。必须显式开启 upload_on_save,且确保当前文件属于已配置的远程映射目录。
- 在
sftp-config.json中添加"upload_on_save": true(布尔值,不是字符串) - 该配置只对“当前文件所在文件夹”生效;如果文件不在配置过的根目录下(比如你打开了桌面的一个 .txt),即使有配置文件也无效
- 路径映射靠
remote_path字段控制,例如本地/project对应远程/var/www/html,那么只有打开/project下的文件才会触发自动上传 - 如果远程路径权限不足(如
www-data用户无写入权),上传会卡住几秒后报错Permission denied,但 Sublime 不弹窗提醒,需看右下角状态栏或控制台(Ctrl+`)
调试上传失败:怎么看日志和临时文件
SFTP 插件本身不提供图形化日志面板,所有连接、传输细节都输出到 Sublime 的控制台(Ctrl+`),而且只在操作发生时实时刷新,关掉就没了。
- 执行上传前先打开控制台,再按
Ctrl+S,能看到完整的 SSH 连接过程、SFTP 通道建立、文件 open/write/close 步骤 - 如果卡在
Connecting...,通常是防火墙拦截、host写错,或服务器 SSH 服务未运行 - 上传中断后,远程可能残留
.filename.tmp临时文件,这是 SFTP 的原子写入机制,正常;但如果反复失败,得手动清理,否则下次上传可能因同名冲突报错 - 大文件(>50MB)上传容易超时,需在配置中加
"timeout": 60(单位秒),默认只有 30 秒
600,而 Web 服务需要 644 ——这得靠 chmod 或配置 file_permissions 字段,SFTP 本身不帮你改权限。










