Linux安装VS Code无统一最佳方式,需据发行版、权限和场景选择:Debian/Ubuntu推荐官方APT源(需导入密钥并配置正确signed-by路径),RHEL/CentOS/Fedora宜用RPM包手动安装,无root或离线环境适用tar.gz解压运行,Snap虽便捷但存在启动慢、沙箱隔离及更新延迟等缺陷。

Linux下装VS Code,没有统一“最佳方式”,得看你的发行版、权限和使用场景。直接用sudo apt install code在Ubuntu上能跑,但在CentOS上会报错;用snap install code --classic看似通用,但某些企业环境禁用了snapd;手动解压tar.gz最稳妥,却没法自动更新。选错方法,轻则启动失败,重则后续插件装不上、code命令不可用。
Debian/Ubuntu系:用官方APT源最稳
这是推荐给大多数桌面用户的方案,更新及时、依赖干净、code命令开箱即用。
- 必须先导入微软签名密钥,否则
apt update会报GPG error:curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg - 源地址里
signed-by=路径要和上一步完全一致,写错成/etc/apt/trusted.gpg.d/会导致安装包被拒绝 -
sudo apt install code装的是GUI版;如果只想要命令行工具(比如配合code --install-extension批量部署),可改用sudo apt install code-cli(部分旧版本不支持) - 装完运行
code --version,若提示command not found,说明PATH没生效——重启终端或执行source /etc/profile
RHEL/CentOS/Fedora:RPM包比DNF仓库更可靠
官方RPM源不稳定,经常404;直接下载.rpm文件安装,反而成功率高,且不依赖网络仓库配置。
- 去
https://code.visualstudio.com/sha/download?build=stable&os=rhel-x64下载最新.rpm(注意URL里的rhel-x64,别错选fedora-x64) - 安装前先检查缺失依赖:
sudo rpm -Uvh --test code-*.rpm,常见缺libXss.so.1,用sudo dnf install libXScrnSaver补 - 不要用
dnf install code——RHEL 8+默认仓库里没有VS Code,强行启用EPEL也常版本滞后 - 装完后图标可能不显示:手动创建
/usr/share/applications/code.desktop,填入Exec=/usr/bin/code --no-sandbox %F(加--no-sandbox防沙箱冲突)
无root权限或离线环境:tar.gz解压即用
适合服务器、容器、学生机等受限场景,所有文件都在当前目录,删掉整个文件夹就卸载干净。
- 下载
vscode-stable.tar.gz后,解压到任意位置(如~/apps/vscode),然后运行~/apps/vscode/code启动 -
code命令不可用是正常的——想让它可用,得自己加软链:ln -s ~/apps/vscode/code ~/bin/code(前提是~/bin在PATH里) - 插件默认存放在
~/.vscode/extensions,和APT/Snap安装的路径一致,所以离线拷贝扩展时不用改路径 - 首次启动会弹出“是否允许收集遥测数据”对话框,SSH环境下可能卡住——加参数
--disable-telemetry跳过
别碰Snap,除非你清楚代价
在Ubuntu桌面版上snap install code --classic确实一键成功,但背后有三个硬伤:
- 启动慢:每次都要加载snapd服务,冷启动比APT版多1–2秒
- 文件系统隔离:无法直接读写
/tmp或挂载的NFS卷,调试Docker或远程开发时容易permission denied - 更新延迟:Snap版通常比官网稳定版晚1–3天,遇到紧急安全补丁(比如2026年7月的
remote-ssh提权漏洞)会滞后 - 如果已装了Snap版又想切APT版,必须先
sudo snap remove code,再sudo apt install code,否则code命令仍指向Snap二进制
真正麻烦的不是装不上,而是装完发现code --install-extension ms-python.python失败,或者按Ctrl+Shift+P调不出命令面板——这些多半源于安装方式和系统图形库、沙箱策略的隐性冲突。动手前先确认自己有没有root、要不要code命令、会不会连外网,比盲目复制粘贴命令重要得多。


















