VSCode更新后rsync部署EC2报错code23求助
rsync error code 23表示部分文件无法完成传输,你看到的AppleInternal路径只是Mac系统自带rsync的编译路径,和iOS部署无关,本质是当前环境的rsync调用或配置出了问题,结合你提到的VSCode更新后出现异常,可按以下步骤排查:
检查VSCode终端的rsync版本与路径
在出问题的VSCode终端执行:rsync --version对比正常笔记本的输出。如果版本是2.6.9(即报错里的sender版本),说明当前用的是Mac自带的旧版rsync,这类旧版本可能和EC2端的rsync存在兼容性问题。解决方法:
- 若你通过Homebrew安装过新版rsync,直接调用其绝对路径执行部署命令,比如:
/usr/local/bin/rsync [你的部署参数] - 若未安装新版,先通过
brew install rsync安装,再使用上述绝对路径调用。
- 若你通过Homebrew安装过新版rsync,直接调用其绝对路径执行部署命令,比如:
核对VSCode终端的环境变量
VSCode更新后可能修改了终端的PATH配置,导致优先调用了旧版rsync。在VSCode终端执行:echo $PATH对比正常笔记本的PATH输出,确保新版rsync所在路径(如
/usr/local/bin)排在系统自带路径(如/usr/bin)之前。若需要调整,可在VSCode设置中搜索terminal.integrated.env.osx,添加自定义PATH:"terminal.integrated.env.osx": { "PATH": "/usr/local/bin:$PATH" }查看rsync详细日志定位具体失败文件
在部署命令中添加-vv参数获取详细传输日志,明确是哪些文件或权限导致失败:rsync -vv [你的原有部署参数]常见问题包括:本地新增文件无读取权限、源路径因VSCode工作区变化出现错误、EC2端目标路径权限不足。针对日志中的具体提示(如
permission denied)调整对应权限或路径。排查VSCode相关插件
若你使用了部署类插件(如Deploy RSYNC、Remote-SSH),VSCode更新后可能出现插件兼容性问题:- 临时禁用所有部署相关插件,手动在VSCode终端运行rsync命令,若恢复正常则逐个排查插件,更新或回滚到兼容版本。
回滚VSCode版本验证
若以上方法无效,可临时回滚到之前正常的VSCode版本(官网可下载历史版本),确认是否为VSCode更新本身引入的问题。若回滚后正常,可等待VSCode后续版本修复,或暂时使用旧版本部署。
内容的提问来源于stack exchange,提问作者geuni620

