code-server 完整安装部署指南:5 种方式在浏览器里跑起 VS Code
【免费下载链接】code-serverVS Code in the browser项目地址: https://gitcode.com/GitHub_Trending/co/code-server
code-server 把完整的 VS Code 搬到远程机器上运行,你只需打开浏览器就能用代码编辑器、内置终端、扩展和 Git——开发环境建一次,笔记本、平板、旧电脑随时接入。本文覆盖从环境自检、主流安装方式、Docker 部署,到首次登录拿密码、改端口改密码、排错和卸载的完整流程,照着做即可跑通。
先选安装方式:按环境对比 5 条路线
不同系统走不同的路,先对号入座,后面只跟其中一条:
| 方式 | 适用环境 | 复杂度 | 推荐度 |
|---|---|---|---|
| 官方脚本 install.sh | Linux / macOS / FreeBSD | 低 | ⭐⭐⭐⭐⭐ |
| Homebrew | macOS | 低 | ⭐⭐⭐⭐ |
| npm 全局安装 | Windows、Alpine、树莓派、老 glibc 系统 | 中 | ⭐⭐⭐ |
| Docker 容器 | 需要隔离环境、不想污染宿主 | 中 | ⭐⭐⭐⭐ |
| Termux | Android 手机 | 高 | ⭐⭐ |
判断逻辑很简单:有 amd64/arm64 的 Linux 或 macOS,直接走第一条路;系统特殊(Windows、Alpine、glibc 太老)走 npm;想把编辑器关在容器里走 Docker。
安装前环境自检:内存、核心数与 glibc 版本
装之前花 30 秒确认机器够格,官方给出的最低要求是1GB 内存 + 2 核 CPU,浏览器端必须支持 WebSocket(主流 Chrome/Firefox/Safari 均满足)。
在 Linux 上依次运行,确认资源够、glibc 达标(独立安装包要求 glibc ≥ 2.28):
free -h && nproc # 查看可用内存与CPU核心数,内存应≥1GB、核心≥2 ldd --version | head -n1 # 查看glibc版本,需≥2.28macOS 用sysctl hw.memsize hw.ncpu查看内存和核心数,无 glibc 要求。
注意:如果 glibc 低于 2.28(老 CentOS 7 常见),独立包跑不了,请走 npm 方式现场编译,见后文。
Linux 与 macOS 怎么装:官方脚本一条命令搞定
install.sh 会自动识别你的发行版并选最合适的包:Debian/Ubuntu 装 deb,Fedora/RHEL/openSUSE 装 rpm,Arch 走 AUR,其他发行版装独立压缩包到~/.local,macOS 走 Homebrew。
先加--dry-run预演,看看脚本打算执行哪些命令再决定是否真装:
curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run # 只打印将执行的命令,不实际安装确认无误后正式安装:
curl -fsSL https://code-server.dev/install.sh | sh常用参数(拼接在sh -s --后面):
--version=4.9.3:装指定版本而不是最新版(替换成你要的版本号)--method=standalone:强制装独立压缩包到~/.local--prefix=/usr/local:独立包装到系统目录--edge:装预发布版
验证:装完终端会打印启动指引。运行code-server --version,能输出版本号即安装成功。如果提示code-server: command not found,说明~/.local/bin不在PATH里,把它加进~/.bashrc后重开终端。
macOS 用户也可以跳过脚本,直接用 Homebrew:
brew install code-server # 安装code-server的brew包 brew services start code-server # 注册为launchd服务并立即启动验证:brew services list | grep code-server,状态应为started。
npm 方式安装:Windows、Alpine 与树莓派的绕路方案
官方明确推荐在以下三种场景用 npm 装:非 amd64/arm64 架构、Linux 上 glibc < 2.28、Alpine 等非 glibc 系统。npm 安装时会现场编译原生模块,所以前置条件是先装 C 编译工具链,不要跳过这一步。
先装编译依赖(按系统选其一):
# Ubuntu / Debian sudo apt-get install -y build-essential pkg-config python3 # 安装C/C++编译链 npm config set python python3 # 让node-gyp使用python3 # Fedora / CentOS / RHEL sudo yum groupinstall -y 'Development Tools' # 安装开发工具组 # Alpine apk add alpine-sdk bash libstdc++ libc6-compat python3 krb5-dev # alpine-sdk含编译链 # macOS xcode-select --install # 安装Xcode命令行工具(含clang)然后要求Node.js 24.x(版本不对可能出现难以定位的怪异行为),全局安装:
npm install --global code-server # 全局安装,安装过程会编译原生模块,耗时较长注意:官方明确警告不要用 yarn 安装code-server,它不遵守 lockfile,会拉取与发布版本不匹配的依赖,导致行为异常。
Android 上的 Termux 同样属于这一类(npm 编译安装),但它有独立的源切换和依赖配置流程,单独写在 docs/termux.md,照那篇做即可,本文不展开。
验证:终端直接敲code-server,看到监听信息即成功。
Docker 部署:一条命令获得隔离环境
容器方案适合不想污染宿主、或需要给不同项目隔离开发环境的场景。官方镜像支持 amd64 和 arm64。以下命令把当前目录挂进容器当工作区,并把你的 UID/GID 转发进去,保证容器内创建的文件在宿主机上属于你本人:
mkdir -p ~/.config # 确保配置目录存在,容器会挂载它来存放code-server配置 docker run -it --name code-server -p 127.0.0.1:8080:8080 \ -v "$HOME/.local:/home/coder/.local" \ -v "$HOME/.config:/home/coder/.config" \ -v "$PWD:/home/coder/project" \ -u "$(id -u):$(id -g)" \ -e "DOCKER_USER=$USER" \ codercom/code-server:latest逐行说明关键参数:
-p 127.0.0.1:8080:8080:只把 8080 端口映射到本机回环地址,外部网卡直接访问不到,天然更安全-v "$PWD:/home/coder/project":当前目录进容器作为工作目录(换成你想开发的任意路径)-v "$HOME/.config:...":配置目录透传,密码文件在宿主机上可直接查看修改-u "$(id -u):$(id -g)":容器内进程以宿主机当前用户身份运行
验证:另开终端curl -I http://127.0.0.1:8080,返回HTTP/1.1 200说明容器已就绪;首次启动时密码会写入宿主机~/.config/code-server/config.yaml。
首次启动验证:访问地址和密码在哪拿
前台运行最简单,适合先验证一遍:
code-server # 前台启动,Ctrl+C 可随时停止启动时终端会打印监听地址(形如HTTP server listening on http://127.0.0.1:8080)和登录密码。首次运行时还会自动生成配置文件~/.config/code-server/config.yaml,默认内容长这样:
bind-addr: 127.0.0.1:8080 # 只监听本机回环地址,默认端口8080 auth: password # 启用密码认证 password: <首次启动随机生成> # 随机密码,持久化在此 cert: false # 默认不开TLS验证:浏览器打开http://127.0.0.1:8080,输入配置文件里的密码,看到熟悉的 VS Code 界面即部署成功。
如果你用的是 deb/rpm/brew 安装,系统已生成服务单元,建议转成后台服务并开机自启:
sudo systemctl enable --now code-server@$USER # $USER自动展开为当前用户名,启用并立即启动验证:systemctl status code-server@$USER显示active (running)。
安全上记住两点:
- 默认只监听 localhost,所以换台电脑访问不到。要远程访问,要么走 SSH 隧道(
ssh -N -L 8080:127.0.0.1:8080 用户名@服务器IP,在本地执行,把远端端口映射到本地 8080),要么把bind-addr改成服务器 IP——但官方警告:永远不要把 code-server 裸暴露在公网,没有认证和加密时任何人都能通过它的终端接管你的机器。 - 密码登录有防暴力破解的限速:每分钟 2 次 + 每小时额外 12 次,输错多了等一会儿再试。
基础配置:改端口、改密码、关遥测
所有配置项都是 config.yaml 里的字段,与code-server命令行参数一一对应(code-server --help可查全量),命令行参数优先级高于配置文件。改完配置都要重启服务才生效。
改端口(三选一,按需替换 3000):
PORT=3000 code-server # 方式一:环境变量临时指定端口 code-server --bind-addr 127.0.0.1:3000 # 方式二:命令行参数临时指定方式三是编辑~/.config/code-server/config.yaml,把bind-addr改成127.0.0.1:3000。注意bind-addr建议写具体回环地址而不是0.0.0.0,缩小暴露面。
改密码:编辑 config.yaml 里的password字段换成你的强密码,然后:
sudo systemctl restart code-server@$USER # 重启服务使新密码生效安全加固常用开关:
code-server --auth none # 关闭密码认证,仅配合SSH隧道等可信链路使用 code-server --disable-telemetry # 禁用遥测上报需要更复杂的公网访问方案(域名 + Let's Encrypt 自动 HTTPS、Caddy/Nginx 反代),参考 docs/guide.md。
常见报错排查与卸载
Webview 白屏、扩展界面加载不出:浏览器控制台报Error loading webview: Error: Could not register service workers: SecurityError...。原因是 webview 依赖 Service Worker,而 Service Worker 只在"安全上下文"(HTTPS 或 localhost)下可用——你用 IP 地址 + HTTP 访问就中招。解决办法:从 localhost 访问(SSH 隧道场景)、用带真实证书的域名、或 mkcert 生成受信任的自签证书。
npm 安装中途报 node-gyp 相关错误:缺 C 编译依赖,回到上一节把对应系统的工具链装全再重装。装好依赖后若仍失败,用npm install --loglevel verbose --global code-server看详细日志定位。
升级 Node.js 版本后行为异常:npm 装的版本需要重编译原生模块,进到 code-server 的lib/vscode目录执行npm rebuild再重启,或直接卸载重装。
忘记密码:改 config.yaml 的password字段后重启服务即可,这是最快的找回方式。
扩展装不上(Android/Termux 场景):通常是平台检测导致,处理方式见 docs/termux.md。
卸载按安装方式对号入座,先停服务再删程序:
# 1. 停止并取消开机自启(服务方式安装才需要) sudo systemctl disable --now code-server@$USER # 2. 按安装方式删程序,选其一: rm -rf ~/.local/lib/code-server-* # 脚本/独立包安装 brew remove code-server # Homebrew npm uninstall --global code-server # npm sudo apt remove code-server # Debian/Ubuntu deb # 3. 彻底清理配置与用户数据(不可恢复,确认后再执行) rm -rf ~/.local/share/code-server ~/.config/code-server验证卸载:which code-server无输出,且~/.config/code-server目录已不存在。
常用命令速查与下一步
code-server --version # 查版本 code-server # 前台启动 code-server --bind-addr 127.0.0.1:3000 # 换端口启动 code-server --disable-telemetry # 关遥测 sudo systemctl restart code-server@$USER # 改配置后重启服务接下来可以按需要深入:
- 公网 HTTPS 访问:Caddy + Let's Encrypt 自动证书,看 docs/guide.md;
- 移动开发:Termux 或 iPad 远程连接方案,看 docs/termux.md;
- 复用现有 VS Code 配置与扩展市场问题:查 docs/FAQ.md 中扩展与配置迁移部分。
装好只是起点,把 SSH 隧道和 HTTPS 这两道门关上,你的远程开发环境才算真正可以 7×24 挂着用。
【免费下载链接】code-serverVS Code in the browser项目地址: https://gitcode.com/GitHub_Trending/co/code-server
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考