ec2 挂在 npm install 上
Posted
技术标签:
【中文标题】ec2 挂在 npm install 上【英文标题】:ec2 hangs on npm install 【发布时间】:2019-05-10 19:14:10 【问题描述】:我有免费层 ec2(1GB RAB,500MB 交换内存)
当 Jenkins 对项目执行 npm install
时,ec2 只是挂起,停止响应,只有重新启动才能使其恢复正常。
通过htop
,我分析了情况并发现 RAM 只是耗尽和阻塞,而我创建的额外交换内存无济于事。
由于我有一个学校项目,我想使用免费层并以某种方式在那里启动该项目(我也尝试过npm run build
,但现在问题太多了)。
我也尝试过 yarn,但是另外两个软件包需要不同版本的 babel-loader
存在问题。
有没有办法以自动方式执行npm install
(这样 Jenkins 只需一个脚本外壳就可以做到)并且不挂起 ec2?
【问题讨论】:
您不能在本地运行$ npm install
并将node_modules
文件夹上传到EC2 实例上吗?这应该不需要在 EC2 上运行 $ npm install
,但您可能需要在 Linux 虚拟机中运行 $ npm install
,以便为正确的操作系统编译任何本机插件。
【参考方案1】:
我遇到了服务器停止安装的同样问题。虽然绝对可以手动上传 node_modules,但我更喜欢让 npm 为我做这件事。我通过在运行npm install
之前删除一半的依赖项来解决它。完成后,我将它们添加回来并再次运行npm install
。现在一切都安装好了。
从现在开始npm install
应该可以正常工作,因为大多数依赖项已经安装。但是,一次添加或更新许多依赖项可能会导致服务器再次挂起。
【讨论】:
以上是关于ec2 挂在 npm install 上的主要内容,如果未能解决你的问题,请参考以下文章
npm install 挂在 loadIdealTree:loadAllDepsIntoIdealTree: sill install loadIdealTree
在 node-gyp 重建时挂在 npm install 上的厨师客户端
通过 Maven 前端插件或通过命令行选项从“npm install”输出调试到文件?