安装Evolver报EACCES权限错误3步搞定Linux/macOS完整解决方案【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolverEvolver是一款 GEP 驱动的 AI Agent 自进化引擎Genes、Capsules、Events 全程可审计。在 Linux 或 macOS 上执行npm install -g evomap/evolver时很多新手会看到一个吓人的报错EACCES: permission denied, mkdir /usr/lib/node_modules/evomap别慌这不是 Evolver 的 Bug而是npm 全局安装目录属于 root 用户导致的经典权限问题。本文带你 3 步彻底解决全程不用sudo安全又干净 ✅EACCES 错误是怎么产生的一句话原理npm install -g会把包装到 npm 的全局 prefix 目录默认通常是/usr或/usr/local这些目录归 root 所有普通用户没有写入权限于是 npm 在mkdir/writeFile时抛出EACCES: permission denied。Evolver 的入口定义在 package.json 中bin字段映射evolver命令到 index.js安装流程本身与普通 npm 包完全一致所以它和其他 CLI 工具一样会撞上这堵权限墙。⚠️为什么不建议用sudo npm install -g用 sudo 强装后全局目录里会混入 root 属主的文件。之后你再用普通身份升级、卸载 Evolver 时反而更容易反复报EACCES还会给供应链留下安全隐患。方案一配置用户级 npm prefix官方推荐这也是 Evolver 官方文档 README.zh-CN.md 给出的标准解法把全局目录搬到你自己的家目录绕开 root 权限。第 1 步设置用户级 prefixnpm config set prefix ~/.npm-global第 2 步把 bin 目录加入 PATH把下面这行写入你的 Shell 配置Bash 用户写~/.bashrcmacOS 默认是 Zsh请写~/.zshrcecho export PATH$HOME/.npm-global/bin:$PATH ~/.bashrc source ~/.bashrc第 3 步重新安装 Evolvernpm install -g evomap/evolver evolver --help能看到--help输出说明安装成功 小技巧如果之前已经误用过sudo npm先清理被污染的缓存和全局目录再执行上面的三步sudo chown -R $(whoami) ~/.npm /usr/lib/node_modules /usr/local/lib/node_modules方案二用 nvm 管理 Node彻底免疫权限问题如果你经常折腾 Node 项目用 nvm 这类版本管理器是最省心的nvm 把每个 Node 版本都装在家目录里npm install -g天然拥有写权限永远不会出现 EACCES。nvm install --lts # 安装 Node.js LTS nvm use --lts npm install -g evomap/evolver进阶排查还有一种良性 EACCES如果你是在Docker / K8s 等非 root 容器里以--loop模式跑 Evolver日志里可能出现这样一行[evolver] Could not set oom_score_adj (EACCES) ...先说结论这是预期行为完全无害不是安装问题。原因是 Evolver 在 Linux 下会尽力把/proc/self/oom_score_adj调低让内核在内存吃紧时别先杀掉它非 root 进程没有CAP_SYS_RESOURCE权限写入就会返回EACCES。相关逻辑见 index.js。两种处理方式任选其一忽略它不影响任何功能设置环境变量EVOLVER_DISABLE_OOM_ADJUST1让 Evolver 跳过这步探测日志更清爽。安装后的快速自检清单 检查项命令 / 方法通过标准Node.js 版本node -v 18package.json engines 要求更高时以 npm 提示为准Git 已安装git --version能正常输出版本号evolver 在 PATH 中evolver --help显示帮助信息而非command not found在 git 仓库中运行在任意 git 项目里执行evolver输出策略横幅和 GEP prompt 注意Evolver 依赖 Git 做回滚与变更范围计算必须在git 初始化过的项目目录内运行否则会直接报明确错误退出。常见问题 FAQ ❓Q1npm config set prefix之后npm -g装的包消失了没消失只是换到了~/.npm-global/lib/node_modules。旧的/usr/lib/node_modules里的包仍在原处两者互不影响。Q2macOS 上改了~/.bashrc但evolver仍找不到macOS Catalina 之后默认 Shell 是 Zsh配置要写进~/.zshrc。可用echo $SHELL确认当前 Shell。Q3不想装全局能直接从源码跑吗可以。Clone 仓库git clone https://gitcode.com/GitHub_Trending/evolv/evolver后进入目录执行npm install再用node index.js运行。详见 README.zh-CN.md 的源码模式章节。Q4报错信息里同时出现EACCES和ENOTDIR通常是~/.npm-global或你自定义的 prefix路径下被建成了同名文件。检查ls -ld ~/.npm-global确保它是个目录。写在最后EACCES 看着吓人本质只是往 root 的目录里写东西被拒绝。记住核心思路把 npm 的全局目录收归到自己家目录一次配置终身免疫。配好之后evolver --help一跑你就正式拿到了这把打开 AI Agent 自进化引擎的钥匙 更多用法对接 Cursor、Claude Code、Codex 等运行时可继续阅读 README.md 与 SKILL.md。【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考