尝试在AWS EC2上部署React应用程序。 我使用的是 apache,所以我在 /var/www/html 下得到了 git clone。
我部署其他项目时没有任何问题, 但是当我
npm install
在这个新项目文件夹中时,几秒钟内(当它安装 webpack 时),它只是停留在同一点并显示相同的消息。
它永远卡在那里,任何其他命令都不起作用。所以我必须强制退出终端。之后,我在 10 - 20 分钟内无法连接我的 EC2 实例。
我尝试了
npm install --verbose
,删除package-lock.json,npm config set registry http://registry.npmjs.org/ --global
,npm cache verify
......没有任何效果。
真是令人沮丧。 我不知道我该怎么办。任何建议将不胜感激。
就我而言,我必须在我的微型 ec2 实例上创建一个交换文件。我的 npm 安装挂起并最终被杀死。一旦我使用交换文件增加了内存,一切都工作正常!
我使用的命令:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
swapon --show
free -h
要使交换文件在重新启动后保持不变(以 root 身份运行):
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
您使用什么类型的 EC2 实例?查看监控数据、cpu使用率和内存消耗 根据我的经验,如果您有很多依赖项,“npm install”很容易挂在 EC2 微型实例上。
另一个解决方案是将实例类型从微型升级到中型并执行“npm install”。完成后,将介质恢复为微量。但从微型升级到中型会涉及一些成本。