之前已经装过一版OpenClaw,但是想试试新版有什么不同,按照这里的教程:https://blog.csdn.net/qq_44862208/article/details/158610272
运行:
bash
curl -fsSL https://openclaw.ai/install.sh | bash
结果报错,并且通过log什么的根本看不出来问题在什么地方,以为是网络的之类的问题,又试了一下:
bash
sudo npm install -g openclaw@latest
结果还是报错。尝试良久,突然想到上面这个命令可以看看具体怎么回事:
bash
sudo npm install -g openclaw@latest -verbose
结果看到报错如下:
npm verbose stack at async module.exports (/usr/lib/node_modules/npm/lib/cli/entry.js:74:5)
npm error code ENOTEMPTY
npm error syscall rename
npm error path /usr/lib/node_modules/openclaw
npm error dest /usr/lib/node_modules/.openclaw-gX1GdeX9
npm error errno -39
npm error ENOTEMPTY: directory not empty, rename '/usr/lib/node_modules/openclaw' -> '/usr/lib/node_modules/.openclaw-gX1GdeX9'
npm verbose cwd /home/quyu
npm verbose os Linux 6.17.0-19-generic
npm verbose node v22.22.1
npm verbose npm v10.9.4
npm verbose exit -39
npm verbose code -39
npm error A complete log of this run can be found in: /root/.npm/_logs/2026-04-03T15_20_01_133Z-debug-0.log
恍然大悟,原来是之前安装的目录冲突了,解决方法也很简单:
bash
sudo rm -rf /usr/lib/node_modules/openclaw
sudo rm -rf /usr/lib/node_modules/.openclaw-*
# 2. 重新安装(推荐加 --unsafe-perm 避免权限报错)
sudo npm install -g openclaw --unsafe-perm
最后一条是用了豆包的建议。这样就可以正常安装了。不得不说,OpenClaw这个安装过程还是很多corner case没考虑到啊。