apm --version 报 command not found 时不可继续安装插件,必须先修复:macOS 运行 atom --install-shell-commands 并重启终端,Windows 重装时勾选“Add to PATH”或手动添加 apm/bin 路径,Linux 避免 snap/flatpak 安装。

apm --version 报 command not found 就别往下走
离线或手动安装插件前,必须确认 apm 命令可用。这不是可选步骤,而是硬性前提——所有后续操作都依赖它。
常见错误现象:终端输入 apm --version 提示 command not found,但 Atom 图形界面能正常打开。
- macOS:没运行过
atom --install-shell-commands,或运行后没重启终端 - Windows:安装时没勾选 “Add to PATH”,或已安装但未手动把
C:\Users\{user}\AppData\Local\atom\app-{version}\resources\app\apm\bin加入系统环境变量 - Linux:用了 snap/flatpak 安装 Atom,或从非官方源下载了 zip 包——这些版本压根不带
apm
验证方式只有一种:在干净的终端(不是 Atom 内置 terminal)里执行 apm --version,输出类似 2.6.2 才算过关。
离线插件必须用 apm install --production 构建
直接拷贝 GitHub 源码或 zip 解压包进 ~/.atom/packages,90% 会启动报错,比如 Cannot find module 'season' 或 Failed to activate package 'linter-gcc'。
根本原因:源码不含 node_modules,且没处理 peerDependencies 和 Atom 特定构建逻辑(如 native 模块编译)。
- 必须在与目标机**完全一致 Atom 版本**的联网机器上执行:
apm install --production linter-gcc - 执行后进入插件目录,确认存在
node_modules,且里面含gcc、atom-linter等子目录 - 不能用
npm install替代——它跳过 Atom 的构建链路,linter-gcc这类插件会无法调用系统gcc - 迁移时拷整个插件文件夹(如
linter-gcc/),不要漏掉package.json或node_modules
插件放对位置但不生效?检查 package.json 和激活条件
即使 apm 可用、node_modules 齐全,插件仍可能静默失败。打开开发者工具(Ctrl+Shift+I),看 Console 是否报错:
-
Error: Cannot find module 'fs-plus'→ 插件根目录缺package.json,或"main"字段指向不存在的路径(比如写成"./src/main.js",但实际编译后是"./lib/main.js") -
Failed to activate package 'xxx' because it depends on 'linter@^3.0.0'→package.json中engines.atom字段要求 Atom v1.70+,但你的 Atom 是 v1.69.0 - 功能不触发 → Atom 是按需加载的。比如
autocomplete-python必须打开.py文件,或手动设置语言模式(Ctrl+Shift+L→ 输入python)
特别注意:插件文件夹名必须和 package.json 中 "name" 字段一致,否则 Atom 不识别。
哪些插件根本没法离线用
不是所有插件都能靠拷 node_modules 解决。三类插件在离线环境下必然失效:
- 依赖实时 API:如
autocomplete-atom-api(需连 GitHub 获取最新 API 文档)、platformio-ide(启动强制校验云端 toolchain) - 含动态下载逻辑:如某些版本的
language-rust,首次启用时拉取rustc语法定义文件 - 需要全局
apm运行时支持:如sync-settings,本质包装了apm login和apm publish,离线机从未连过服务器就卡死
这类插件即使把整个目录拷过去,控制台也会报 Failed to fetch https://... 或卡在加载阶段。遇到这种报错,不用折腾路径或重装,直接换替代方案。











