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