前端进阶之路Web前端之路让前端飞

记Linux下Cli3执行npm run serve报错no s

2019-06-05  本文已影响3人  果汁凉茶丶

  本文笔者记录解决经历,想直接看解决方案的看官直接拉到底部即可。

# 背景介绍

 笔者于【2019-06-05】如往日一样打开vue cli3项目准备启动项目时,执行npm run serve报错如下

no space left on device 错误信息

# 解决过程

1. 是否内存溢出了?

  笔者首先想到的是不是项目执行内存溢出了,但感觉内存溢出应该不是这个错误,管他呢,试试先。于是笔者对package.json文件中的执行脚本进行了修改,如下:

扩大脚本运行时所需要的内存空间

增加了命令vue-cli-service --max_old_space_size=4096 serve
执行了一下没效果,意料之中。其实这个是修复以下问题时的办法

内存溢出报错信息
2. 磁盘空间不足?

  观察一下错误信息,no space left on device指的是磁盘空间不足,cd到相应目录下,检查一下目录大小

du -sh
workspace文件夹占用空间

这才占用3.2G,明显不是空间满了的问题

3. inode无法分配?

  既然空间足够,又提示空间不足,是因为碎小文件过多吗?检查一下inode情况

df -i 

  笔者的系统里出现了大量的 100% Use模块,均是snap/文件占用的/dev/loop设备挂载点
4. 什么是/dev/loop ?

/dev/loop是Linux的循环设备,又称vnd(vnode disk)lofi(循环文件接口),是一种伪设备,它使得文件可以如同块设备一般被访问。

  笔者查了一下,linux中有三种设备类型

# 解决办法

  问题定位。虽内存足够,因为碎小文件太多循环设备被大量创建,/分区下的inode号被大量占用,无法继续分配空间。清理掉这些文件,运行命令:

sudo apt autoremove --purge snapd

  再试一下npm run serve,问题解决。

上一篇下一篇

猜你喜欢

热点阅读