NodeJS ec2挂起npm安装

lo8azlld  于 11个月前  发布在  Node.js
关注(0)|答案(2)|浏览(130)

我有免费层ec2(1GB RAB,500MB交换内存)
当Jenkins在项目上执行npm install时,ec2只是挂起,停止响应,只有重新启动才能让它复活。
使用htop,我分析了情况,发现RAM只是耗尽和阻塞,我创建的额外交换内存没有帮助。
由于我有一个学校项目,我想使用免费层,并以某种方式启动该项目(我也尝试了npm run build,但现在它有太多的问题)。
我也试过yarn,但是有一个问题,其他两个包需要不同版本的babel-loader
有没有一种方法可以自动执行npm install(这样Jenkins就可以只使用脚本shell),而不挂起ec2?

wvyml7n5

wvyml7n51#

我遇到了同样的问题,服务器会停止安装。虽然手动上传node_modules绝对是可能的,但我更喜欢让npm为我做这件事。我在运行npm install之前删除了一半的依赖关系,解决了这个问题。完成后,我把它们加回去,然后第二次运行npm install。现在一切都安装好了。
从现在开始,npm install应该可以正常工作,因为大多数依赖项都已经安装好了。但是,一次添加或更新许多依赖项可能会导致服务器再次挂起。

vaj7vani

vaj7vani2#

我遇到了同样的问题,我不得不多次重新启动示例,但它停留在执行命令npm i的中间
问题是,新示例最初只有1gib的ram,因此当您执行npm命令时,示例会消耗所有的ram,因此它会冻结并且永远不会完成安装。
解决方案是创建或分配交换内存,在我的情况下,我有Ubuntu Server 22.04,按顺序执行以下命令:
1.我们为交换内存创建一个4GB目录

fallacate -l 4G /swapfile

字符串
1.我们授予读写权限,以便系统可以使用目录

chmod 600 /swapfile


1.我们将目录分配给交换系统

mkswap /swapfile

swapon /swapfile

swapon --show

free -h

相关问题