mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-05-06 20:02:49 +08:00
现象:全新 Ubuntu 上执行一键部署脚本后,npm install 报大量 TAR_ENTRY_ERROR / ENOTEMPTY / EACCES 错误,node_modules 处于半损坏状态, 导致后续 vite build 找不到 picomatch 等依赖。 根因:OpenClaw 安装阶段使用 sudo -E npm install -g 安装全局包时, 会在用户主目录 ~/.npm 缓存目录里留下 root 拥有的文件, 后续用户态的 npm install 无法写缓存 → 安装中断 → node_modules 残缺。 修复: - 新增 fix_npm_cache_permissions:检测 ~/.npm 中是否存在 root 拥有的文件, 自动执行 chown 恢复当前用户权限(root/普通用户分别走 chown 与 sudo chown) - install_clawpanel 调用一次权限预检,并对 npm install 失败场景增加一次 清理 node_modules 后的重试,避免半损坏目录污染构建 - 升级路径里补充对不完整 node_modules 的探测(缺少 .package-lock.json 即清理)