离线安装atom核心是确保装完能用:本体必须用官方deb/rpm/msi包(如atom-amd64.deb),禁用.zip;插件需在联网机用apm install --production构建含node_modules的完整副本,再拷贝至~/.atom/packages;依赖网络的插件(如autocomplete-atom-api、platformio-ide)无法真正离线使用。

离线环境装 Atom,核心不是“能不能装”,而是“装完能不能用”——很多插件依赖 apm 或 npm 在安装时动态拉取依赖,直接复制文件夹进去大概率报错或不生效。
离线安装 Atom 本体:只认 deb/rpm/msi,别下 .zip
Atom 官方早已停止维护 Windows/macOS 的 .zip 发行版,仅提供带签名和依赖声明的安装包:
- Debian/Ubuntu 系统必须用
atom-amd64.deb(或arm64.deb),dpkg -i安装后会自动补全libasound2、libxkbfile1等系统库 - CentOS/RHEL 请用
atom.x86_64.rpm,yum localinstall能自动解决glibc版本兼容性 - Windows 用户只认
AtomSetup-x64.exe,双击运行即可;AtomSetup-x64.zip是无效包,解压后无法启动 - 切勿从第三方镜像站下载“精简版”或“绿色版”Atom,它们通常删掉了
resources/app/apm,导致后续插件离线安装失败
插件离线安装失败的 3 个典型现象
把插件文件夹扔进 ~/.atom/packages 后重启 Atom 却没反应?先看终端输出或开发者工具控制台(Ctrl+Shift+I):
-
Error: Cannot find module 'season'→ 插件源码里没包含node_modules,且你没在插件目录下执行npm install -
Failed to activate package 'xxx' because it depends on 'linter@^3.0.0'→ 插件有 peerDependency,但linter本身没离线装好 -
Cannot read property 'onDidStopChanging' of undefined→ 插件用了新版 Atom API(如 v1.70+ 的TextEditor::onDidStopChanging),但你的 Atom 是 v1.58,版本不匹配
真正可靠的离线插件安装流程(以 linter-gcc 为例)
不是“下载再复制”,而是“构建可运行的完整副本”:
- 在联网机器上,用与目标环境**完全一致的 Atom 版本**(比如目标是 v1.69.0,则本地也装 v1.69.0)
- 执行:
apm install --production linter-gcc→ 这会下载源码 + 安装全部dependencies和devDependencies(关键!) - 进入
~/.atom/packages/linter-gcc,确认目录下存在node_modules文件夹,且里面含gcc、atom-linter等子目录 - 压缩整个
linter-gcc文件夹为linter-gcc-offline.tar.gz,拷到离线机,解压到~/.atom/packages/ - 离线机无需
npm或git,只要 Atom 版本对得上,启动即生效
哪些插件根本不能离线用?
有些插件设计上就依赖在线行为,离线安装只是白忙:
-
autocomplete-atom-api:启动时强制请求https://api.github.com/repos/atom/atom/releases获取符号表 -
platformio-ide:首次激活会调用pio home启动 Web 服务,无网络则卡死主进程 -
teletype:所有功能基于 WebSocket 连接wss://public.teletype.atom.io,离线即灰显 - 任何名字带
online、sync、cloud的插件,基本都绕不开 HTTP 请求
真正能离线落地的,只有纯前端逻辑型插件:比如 minimap、atom-beautify、language-latex —— 它们不发请求,只操作本地文本和 DOM。











