解决Mac系统下VSCode插件更新频繁失败的问题

浅雪同学_2972

浅雪同学_2972

2026-08-22

732人浏览

原创

插件更新卡在“正在下载…”或报eperm错误,主因是macos系统拦截写入extensions目录,需清除com.apple.quarantine属性、修复目录权限(sudo chown -r $user:staff ~/library/application\ support/code)、关闭实时防护软件,并清理缓存目录。

解决mac系统下vscode插件更新频繁失败的问题

插件更新卡在“正在下载…”或报 EPERM 错误

Mac 上插件更新失败,最常见现象是点击“更新”后进度条不动、右下角通知反复弹出,或控制台报 EPERM: operation not permitted。这不是插件本身坏了,而是 VS Code 的扩展安装器(vscode-extension-host)尝试往 ~/Library/Application Support/Code/Extensions/ 写文件时被系统拦截。

原因通常有三个:com.apple.quarantine 属性残留(尤其从非官网渠道安装的 VS Code)、用户目录权限错乱、或杀毒软件(如 CleanMyMac、Malwarebytes)扫描时锁住扩展目录。

实操建议:

  • 先运行 ls -l@ ~/Library/Application\ Support/Code/Extensions/,如果看到 com.apple.quarantine 这一行,说明每个插件包都被标记为“来自未知开发者”,得批量清除: xattr -rd com.apple.quarantine ~/Library/Application\ Support/Code/Extensions/
  • 检查目录归属是否异常:执行 ls -ld ~/Library/Application\ Support/Code,输出中第一列应为 drwx------,所有者是当前用户;若显示 root 或权限含 rwx 给 group/other,就用 sudo chown -R $USER:staff ~/Library/Application\ Support/Code
  • 临时退出 CleanMyMac、Avast 等带“实时防护”功能的工具,再重试更新——它们常把 .vsix 解压过程当成可疑行为

extensions.autoUpdate 设为 none 后仍自动更新

即使你在设置里关掉了 extensions.autoUpdate,某些插件(尤其是 Microsoft 官方出品的如 ms-python.python、ms-vscode.cpptools)仍可能在后台静默拉取更新。这是因为 VS Code 1.90+ 引入了“延迟更新策略”:它不立刻安装,但会预下载到缓存,下次启动时才应用。

这不是 bug,而是设计行为。要真正阻止,必须双管齐下:

  • 在 settings.json 中明确写死两行:
    "extensions.autoUpdate": "none",
    "extensions.autoCheckUpdates": false
  • 删掉已缓存的待更新包:执行 rm -rf ~/Library/Caches/com.microsoft.VSCode/Cache/extensions/(注意路径是 Cache,不是 Application Support)
  • 重启 VS Code 后,打开命令面板(Cmd+Shift+P),输入 Developer: Toggle Developer Tools,切到 Console 标签页,手动触发一次插件市场搜索(比如搜 “eslint”),观察是否有 GET https://marketplace.visualstudio.com/... 请求发出——没请求,才算真正静默

插件更新后立即崩溃或功能失效

典型表现是:更新完 Python 插件,Ctrl+Shift+P 打不开命令面板;或 C/C++ 插件升级后 IntelliSense 完全不工作。这往往不是版本冲突,而是插件的本地缓存(~/.vscode/extensions/ms-python.python-*/out/ 下的 node_modules)与新版 VS Code 的 Electron 运行时不兼容。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

别急着回退插件版本,先清缓存再试:

  • 关闭所有 VS Code 窗口(包括菜单栏右上角的托盘图标)
  • 执行:rm -rf ~/.vscode/extensions/ms-*/*-*/out/node_modules(把 ms- 开头的插件缓存全清)
  • 重新打开 VS Code,等右下角提示“正在安装扩展依赖”,让它自动重建 node_modules
  • 如果仍不行,再进命令面板执行 Developer: Reinstall Extension,选对应插件——它会跳过网络校验,直接重解压原始 .vsix

为什么改了 http.proxy 对插件更新没用?

VS Code 设置里的 http.proxy 只影响编辑器内部网络请求(比如 GitHub Copilot 调用、远程 SSH 连接、市场页面加载),但插件的实际下载和安装由独立的 extensionHost 进程完成,它走的是系统级网络栈,**不读取 VS Code 的 proxy 配置**。

所以你在国内公司网络下设了 http.proxy,插件市场页面能刷出来,但点“更新”还是超时——因为下载 .vsix 包那一步根本没走代理。

解决办法只有两个:

  • 在终端里设系统级代理再启动 VS Code:
    export HTTPS_PROXY=http://127.0.0.1:7890; open -n -b "com.microsoft.VSCode"(适配你的本地代理端口)
  • 更稳妥的方式:关掉自动更新,改用离线方式。去 marketplace.visualstudio.com 手动下载 .vsix 文件,然后在 VS Code 里用 Extensions: Install from VSIX 命令安装

真正容易被忽略的是:插件更新失败时,VS Code 不会主动清理失败的临时文件。这些残留在 ~/Library/Caches/com.microsoft.VSCode/Cache/extensions/ 里的半截 .vsix 会持续干扰后续更新,每次遇到问题,先清这个目录比调代理更有效。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1295

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2712

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1929

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2587

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1818

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

474

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程