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

在 AWS EC2 上安装 NPM

在 node-gyp 重建时挂在 npm install 上的厨师客户端

通过 Maven 前端插件或通过命令行选项从“npm install”输出调试到文件?

在 elasticbeanstalk 上安装 npm canvas - npm 安装错误

npm相关依赖操作+版本问题