问题

npm error code ENOTEMPTY
npm error syscall rename

当使用 npm 下载一些包的时候出现这个 ENOTEMPTY 也就是文件非空的错误。

原因

你之前已经使用 npm 下载过这个包了,并且还因为某些问题,大概率是网络问题,下载失败了,这时候就有错误的残留,必须删除了才能再次重新下载。

解决方法

清除 npm 缓存

npm cache clean --force

使用完后,会清除缓存,然后提醒你:

Warning

npm warn using —force Recommended protections disabled.

这个是说这个参数已经过时了,没必要使用,但是当使用这个参数的时候缓存就已经被清空了。

不加 force 这个参数也可以。

不过最好加上,因为会报错,显示不需要手动处理。

也可以用下面的指令去查看缓存:

npm cache verify

手动清除

rm -rf /文件夹

这个文件夹的位置,npm 会提醒的,直接复制一下就行。

最后重新安装这个包。