根本原因是atom于2022年12月归档、apm服务端彻底下线,所有apm update请求均因api失效而超时或404;插件虽暂可用,但会因api移除或abi不兼容逐步崩溃,需手动clone+rebuild维护。

apm update 为什么总卡住或报错
根本原因不是网络慢,而是 Atom 已于 2022 年 12 月归档,apm 服务端彻底下线,所有 apm update 请求都会超时或返回 404。你看到的 “Updating packages…” 卡在 99%,其实是客户端在反复重试已失效的 API 地址。
验证方法:终端运行 apm update --verbose,若输出中出现 GET https://atom.io/api/packages/xxx 404 或 request to https://atom.io/ failed,就确认是服务停摆导致,不是本地配置问题。
- 别再设代理或换镜像源——
apm不走 npm 镜像,它直连已关停的 atom.io 后端 -
sudo apm update无效,权限不影响服务不可达的本质 -
apm config set registry对apm update完全无作用,该命令只影响apm install的包发现逻辑(但 install 本身也大概率失败)
插件不更新,但功能还能用,要不要管
要管,但不是为了“更新”,而是防崩溃。很多插件(如 linter-eslint、platformio-atom-ide-terminal)在 Atom 停更后仍会尝试调用已被移除的 API(例如 fs-plus、atom.project.relativizePath),现象是某天突然语法高亮消失、终端打不开、右键菜单变灰——这不是缓存问题,是 Electron 运行时抛出 Cannot read property 'xxx' of undefined 后静默禁用整个包。
- 打开开发者工具(
Ctrl+Shift+I),切到 Console,搜索Failed to activate package,出现即代表该插件已失效 - 检查
~/.atom/packages/xxx/package.json中的engines.atom字段,若写的是">=1.50.0",实际在 v1.63.1 下可能因 Node.js 20 升级而 ABI 不兼容 - 不要信“重启 Atom 就好”,失效插件不会自动恢复,必须手动干预
还能不能手动装/修插件
能,但方式变了:不能再依赖 apm install 自动拉取和构建,必须本地 clone + 手动 apm rebuild。
- 先停用自动更新:
apm config set core.automaticallyUpdate false,避免后台偷偷触发失败请求 - 进
~/.atom/packages,用git clone拉插件源码(注意选最后有 commit 的分支,比如master或v3.2.0,别用main——很多作者已删库) - 进入插件目录,运行
apm install && apm rebuild;如果报node-gyp错误,说明插件含 native 模块,需匹配 Atom 内置 Node 版本(v1.63.1 用 Node.js 20),此时只能删掉该模块或换轻量替代品 - 对
file-icons这类已明确依赖fs-plus的插件,任何 rebuild 都无效,直接放弃
为什么 Check for Updates 按钮点了没反应
因为这个按钮底层调用的仍是已下线的 GitHub Releases API。Atom 客户端会尝试请求 https://api.github.com/repos/atom/atom/releases,但你的网络策略、企业防火墙或 DNS 污染都可能导致请求被拦截或超时,结果就是按钮点击后毫无反馈,控制台也无日志。
- 别等它弹窗,直接浏览器打开
https://github.com/atom/atom/releases查最新 tag(当前为 v1.63.1) - 下载对应系统的
.deb(Ubuntu/Debian)或.zip(macOS/Windows),用dpkg -i或解压覆盖安装 - 升级后立刻执行
apm rebuild,否则 90% 的插件会因 Node.js 20 ABI 变更而无法加载
最易被忽略的一点:Atom 不是“还能凑合用”,而是处于持续退化状态。每次 Electron 升级、系统内核更新、甚至 Chrome 渲染引擎小版本变动,都可能让某个原本正常的插件突然失效——这不是 bug,是平台生命周期终结的必然表现。











