服务器上 yarn 报错Killed puppeteer
时间: 2023-08-17 16:24:50 浏览: 118
这个问题通常是由于服务器的内存不足导致的。在启动 Puppeteer 时,它会启动一个 Chromium 进程,这个进程会占用大量的内存。如果服务器的内存不足,就会出现 `Killed` 的错误。
为了解决这个问题,你可以尝试以下几种方法:
1. 增加服务器的内存:如果你的服务器的内存较小,可以考虑升级服务器或者增加内存条。
2. 优化 Puppeteer 的启动参数:Puppeteer 启动 Chromium 进程时,可以设置一些启动参数来减少内存的使用。例如:
```javascript
const browser = await puppeteer.launch({
args: [
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
'--disable-accelerated-2d-canvas',
'--no-first-run',
'--no-sandbox',
'--no-zygote',
],
});
```
这里禁用了共享内存和沙盒机制,同时关闭了一些 Chrome 的扩展功能,从而减少了内存的使用。
3. 使用无头模式:如果你的程序只需要进行页面的爬取或者截图等操作,可以考虑使用无头模式启动 Chromium 进程。例如:
```javascript
const browser = await puppeteer.launch({ headless: true });
```
这里关闭了 Chromium 的界面,从而减少了内存的使用。
希望以上方法能够帮助你解决问题。
阅读全文