官网“Archive”类安装包(如Windows的.zip、Linux的.tar.gz)才是真离线包,带“Installer”字样的会联网卡住;解压后直接运行二进制,勿配PATH或执行联网命令。

内网环境不能直接装 VSCode,必须用离线安装包(.zip / .tar.gz / .exe)——官网下载页面明确标有“Archive”或“Offline Installer”的才是真离线包,点错“User Installer”或“System Installer”会触发在线更新逻辑,首次启动就卡住。
怎么找对真正的离线安装包
VSCode 官网下载页上,不同操作系统的“离线包”命名规则不同,但都有明显标识:
- Windows:选
Win32 x64 User Installer是错的,它会联网;要找Win32 x64 Archive(.zip 格式),解压即用 - macOS:没有单独的“离线 installer”,但
Universal .zip或旧版.tar.gz可直接解压运行,不依赖 App Store 或自动更新 - Linux:只认
.tar.gz包,比如code-stable-x64-1.103.2.tar.gz,解压后执行./code即可,不走 apt/yum 安装链
关键点:所有带 Installer 字样的(无论 .exe 还是 .deb/.rpm)都会尝试联网校验或拉取更新,内网机器一启动就卡在“Checking for updates…”。只有 Archive 类型才彻底离线。
code 命令不可用?别急着配 PATH
离线部署时,code 命令默认不存在——这不是 PATH 没配好,而是 Archive 包根本没注册 shell 命令。你不需要、也不应该在内网机上运行 Shell Command: Install 'code' command in PATH(该命令本身就要联网调用 VSCode 内部更新服务)。
- 正确做法:把解压后的
code(Linux/macOS)或Code.exe(Windows)路径写死进脚本或快捷方式,例如 Linux 上用/opt/vscode/code --no-sandbox - 如果必须用
code命令,可在内网统一配置软链接:sudo ln -s /opt/vscode/code /usr/local/bin/code,但前提是确保目标路径稳定且无权限冲突 - 注意:
--no-sandbox在部分受限内网环境(如无 root 权限、seccomp 限制)是必需参数,否则直接闪退
装完打不开?检查 glibc 和字体依赖(Linux 专属坑)
Linux 离线安装后常见白屏、崩溃或界面文字乱码,和网络无关,纯属系统级依赖缺失:
- glibc 版本过低:VSCode 1.103+ 要求 glibc ≥ 2.28,CentOS 7(glibc 2.17)直接无法启动,报错
version `GLIBC_2.28' not found—— 必须降级到 1.95.x 或换发行版 - 缺少字体:启动后菜单/编辑器空白,大概率缺
fontconfig和基础中文字体,Debian/Ubuntu 补:apt install fontconfig libxss1 libasound2(需提前在同版本外网机打包 deb) - 显卡驱动未启用:某些国产 ARM 服务器(如飞腾+景嘉微)需手动设置
export LIBGL_ALWAYS_SOFTWARE=1启动,否则黑屏
为什么 Remote-SSH 插件装了却连不上?Server 端没部署
Remote-SSH 插件离线安装只是完成了本地前端,远端 Linux 服务器上还缺 vscode-server。这个二进制不会随 .vsix 自动同步,必须手动部署:
- 先在联网机用 VSCode 连一次任意服务器,触发下载;然后从
~/.vscode-server/bin/下找到对应 commit ID 的目录(如a1b2c3d...) - 把整个
bin/xxx/目录打包,拷到内网服务器的相同路径下(用户家目录,非 root) - 确保服务器上已预装
curl和tar(vscode-server 启动时会解压自身),否则报错Command failed: tar -xzf - 注意:commit ID 必须与本地 VSCode 版本严格匹配,
code --version输出的哈希值要和 server 目录名一致,差一个字符都 handshake 失败
最易忽略的一点:VSCode Server 的架构(x64/arm64)必须和远程服务器 CPU 架构一致,ARM 服务器上放 x64 的 server 二进制,错误静默,日志里只显示“connection closed”。


















