十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

T3 Code远程访问排错指南:快速定位node not found与端口扫描失败

T3 Code远程访问排错指南:快速定位node not found与端口扫描失败 T3 Code远程访问排错指南快速定位node not found与端口扫描失败【免费下载链接】t3code项目地址: https://gitcode.com/GitHub_Trending/t3/t3codeT3 Code 远程访问失败时报错大多集中在两类SSH 启动远程服务器时提示node not found以及端口扫描失败导致服务器无法就绪。这份排错手册带你按错误出现顺序逐一诊断从非交互 Shell 的 PATH 问题一路查到远端端口占用覆盖 T3 Code 远程访问最常见的故障场景。T3 Code 远程访问是怎么工作的在排错之前先搞清楚 T3 Code 桌面端 SSH 启动远程环境的完整链路源码tunnel.ts桌面端通过非交互sh会话连接远端主机不带你交互式登录的 shell 环境在远端~/.t3/ssh-launch/host-key/下写入启动脚本尝试启动或复用远端 T3 服务器远端从默认端口3773开始做端口扫描找到一个可用端口并绑定到127.0.0.1轮询 HTTP 就绪探测/返回 2xx 才算就绪逻辑见 httpReadiness.ts成功后把远端回环端口转发回桌面端本地 UI 通过转发端口正常连接。只要其中任何一环断了你就会看到本文要讲的三类错误。官方用户文档在 docs/user/remote-access.md架构细节在 docs/internals/remote.md。错误一node not foundnode: command not found这是最高频的错误。根本原因是T3 Code 走的是非交互sh会话它不会加载你.bashrc/.zshrc里的 PATH 配置很多 Node 版本管理器nvm、mise、asdf、fnm、nodenv、Volta只在交互式 shell 里才生效。第一步用 T3 Code 的同一视角检查SSH 登录远端主机执行与 T3 Code 完全相同的检查路径ssh userexample.com sh -lc command -v node node --version如果这条命令打不出兼容版本问题就坐实了。第二步检查 Node 版本是否满足要求即使找到了 node版本也必须落在 T3 Code 服务器包的engines.node范围内定义在 apps/server/package.json^22.16 || ^23.11 || 24.10低于这个版本会得到 does not satisfy required range 报错。第三步修复版本管理器配置T3 Code 的启动脚本ensure_remote_node_path见 tunnel.ts会自动尝试激活主流版本管理器覆盖大部分场景。修复方法按工具区分nvm为非交互 shell 设置默认版本 ——nvm alias default 24mise / asdf / fnm / nodenv确认 shim 目录已安装且非交互 shell 下能解析到合格版本兜底方案把兼容的 Node 直接装到脚本会搜索的目录如~/.local/bin、~/.bin、/usr/local/bin错误二端口扫描失败Failed to find an available port启动脚本会执行内嵌的端口探测程序REMOTE_PICK_PORT_SCRIPT见 tunnel.ts优先复用上次记录在~/.t3/ssh-launch/host-key/port的端口否则从3773起逐个向上试探尝试在127.0.0.1上 listen 成功即锁定该端口。扫描失败通常有三种原因按概率排序原因现象处理远端找不到 node扫描脚本本身就是 node 写的node 缺失时脚本无法执行回到上一节的 node 排错流程3773 起的一段端口全被占用扫描窗口内无一可用在远端ss -tlnp检查占用释放端口或重启占用进程残留的陈旧端口状态上次异常退出留下的port/pid文件一般无需手动清~/.t3/ssh-launch见下文错误三Remote T3 server did not become ready端口拿到了但就绪探测HTTP 2xx 轮询超时。注意区分两种日志形态有日志会附带~/.t3/ssh-launch/host-key/server.log的最后 80 行直接看里面的报错日志为空说明进程启动前就退出了最常见原因是通过npx安装t3时原生依赖 node-pty 编译失败——远端缺少 C 工具链。修复Debian/Ubuntu 装build-essentialFedora/RHEL 装gcc-c makemacOS 执行xcode-select --install。应用更新后重连失败重试一次即可应用升级后如果重连失败直接再点一次 SSH 启动。启动器现在会自动对比生成的 runner 脚本、停掉旧的由启动器管理的远端服务、清理 SSH 启动的 PID/端口状态并拉起全新服务器tunnel.ts。正常情况下不需要手动删除~/.t3/ssh-launch或 killt3进程。另外如果客户端和远端服务器版本不一致会话和Settings → Connections里会显示版本告警按界面提示操作即可详见 docs/user/updating.md。排错检查清单 按顺序过一遍绝大多数远程访问问题都能定位ssh userhost sh -lc command -v node node --version能输出版本吗版本满足^22.16 || ^23.11 || 24.10吗版本管理器是否为非交互 shell 配置了默认版本如nvm alias default 24远端 3773 附近的端口被什么进程占用了远端装好 C 工具链了吗node-pty 需要编译更新应用后重试一次 SSH 启动了吗两边设备的时间和日期一致吗安全提醒配对 URL 和 token 视同密码保管建议把--host绑定到可信的私有地址如 Tailnet IP并定期用t3 auth吊销不再信任的凭据。延伸阅读用户文档docs/user/remote-access.md架构文档docs/internals/remote.mdSSH 隧道与远端启动脚本源码packages/ssh/src/tunnel.tsHTTP 就绪探测逻辑packages/shared/src/httpReadiness.ts后台服务运行指南Linux 长驻服务器docs/user/background-service.md【免费下载链接】t3code项目地址: https://gitcode.com/GitHub_Trending/t3/t3code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表