vue-antd-admin 腾讯云 2h2g 服务器打包报错问题

直入正题,已经核实过本机和服务器node、npm、yarn版本全部一致,但服务器打包就是一直报如下错误:

Building for production...Killed

就是打死打包不成功,经过各种面向百度编程,得出结论:服务器炸了(内存爆了,不够node打包用),想想也是有可能的,因为我这2H2G的小水管,不仅跑了一个docker,还跑了一堆docker容器,包括但不限于缓存、数据库、接口、文档之类的,所以解决方案也很简单!物理内存肯定没啥好说的,我不是冤大头,不可能为了一个“前端”项目或者说为了一个“实时打包”的能力而加钱升配置(主要是穷呀),所以,上虚拟内存,解决!

如何上虚拟内容

因为我是2G的内容,按照国际惯例,虚拟内容应该是4G比较好,然后我的服务器是centos7,详细信息如下:

[root@VM-0-4-centos ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

打包环境如下:

[root@VM-0-4-centos ~]# node -v
v16.20.0
[root@VM-0-4-centos ~]# npm -v
8.19.4
[root@VM-0-4-centos ~]# yarn -v
1.22.19

执行命令如下:

创建一个虚拟内容文件

dd if=/dev/zero of=/home/swap bs=1024 count=4096000

注意,该操作提交后会卡一下(具体看你创建的文件大小及硬盘读写速度),我这里是4G,其中 bs=1024 表示每一个“数据块”的大小,这里就是1KB,然后 count=4096000 就是多少个块,这里就是表示4个G的意思!

更改权限

这一步并非操作,但是改一下,否则开启swap 分区后会有一个提示报错

chmod 600 /home/swap

转换该文件为swap分区支持的格式

mkswap /home/swap

挂在swap分组

swapon /home/swap

查看分区是否生效

free -m

有效开启示例(Swap 右边的值不等于0,则表示开启成功了)

[root@VM-0-4-centos ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1998         544         650           8         804        1281
Swap:          3999         472        3527

完结散花