解决 npm install
时的 “No space left on device” 错误
在运行 npm install
时,若遇到 “No space left on device” 错误,即使使用 df -h
查看磁盘空间发现仍有充足存储空间。
可能是由于 inodes 不足所导致。
检查 inodes 使用情况
使用以下命令查看 inodes 的使用情况:
df -ih
观察输出结果中的 IUse 列,如果其显示 100% ,则说明 inodes 已满,即使磁盘存储空间仍有余量。
解决方法
清理系统中那些占用大量 inodes 的小文件(如日志文件、临时文件等),可以使用以下命令进行删除:
rm -rf <目标文件或目录>
请务必在执行清理操作前,确认删除内容的安全性,避免误删重要文件。
背景知识
- Inode 是什么?
Inode 是 Linux 文件系统用于存储文件属性(如权限、时间戳)及指向数据块指针的结构。在 Linux 系统中,每个文件都对应一个 inode。 - 为什么会导致问题?
inode 数量限制:文件系统创建之初,就设定好了 inode 的总量。倘若某个分区 inode 耗尽,即便磁盘还有大量剩余物理空间,也没办法创建新文件,因为没有空闲的 inode 来记录新文件的 “身份信息” 了,此时就需要清理无用文件释放 inode,或者扩展文件系统来新增 inode。