问题描述
我正在尝试构建一个简单的网络抓取工具,我要做的第一件事就是安装 puppeteer 库.所以我运行命令(我使用的是最新的 linux Mint):sudo npm init -y
和 sudo npm i puppeteer
但我收到这些错误:
I am trying to build a simple web scraper and the first thing I have to do is install the puppeteer library. So I run the commands (I am on the latest linux Mint):sudo npm init -y
and sudo npm i puppeteer
but I get these errors:
▌╢░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟警告引擎 [email protected]:想要:{"node":">=10.18.1"}(当前:{"node":"8.10.0","npm":"3.5.2"})loadDep:ws→请求▄╢██████████████████████████░░░░░░░░░░░░░░░░╟>[email protected] 安装/home/USER/Documents/anna/file/node_modules/puppeteer>节点安装.js(node:11081) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: 原始"参数必须是函数类型在承诺(内部/util.js:209:11)在对象(/home/USER/Documents/anna/file/node_modules/extract-zip/index.js:11:18)在 Module._compile (module.js:652:30)在 Object.Module._extensions..js (module.js:663:10)在 Module.load (module.js:565:32)在 tryModuleLoad (module.js:505:12)在 Function.Module._load (module.js:497:3)在 Module.require (module.js:596:17)在要求(内部/module.js:11:18)在对象(/home/USER/Documents/anna/file/node_modules/puppeteer/lib/BrowserFetcher.js:25:17)(节点:11081) UnhandledPromiseRejectionWarning:未处理的承诺拒绝.这个错误要么是因为在没有 catch 块的情况下抛出了异步函数,要么是因为拒绝了一个没有用 .catch() 处理的承诺.(拒绝编号:1)(节点:11081)[DEP0018] 弃用警告:不推荐使用未处理的承诺拒绝.将来,未处理的承诺拒绝将使用非零退出代码终止 Node.js 进程[email protected]/home/USER/Documents/anna/file└── [email protected] 无关npm WARN [email protected] 需要 bufferutil@^4.0.1 的同级,但没有安装.npm WARN [email protected] 需要 utf-8-validate@^5.0.2 的对等体,但没有安装.npm WARN [email protected] 无说明npm WARN [email protected] 没有存储库字段.
知道为什么会这样吗?
推荐答案
您似乎需要升级 Node.js 版本.输出中的警告:
It looks like you need to upgrade your Node.js version. The warning in the output:
WARN engine [email protected]: wanted: {"node":">=10.18.1"} (current: {"node":"8.10.0","npm":"3.5.2"})
表示您正在运行 Node 8.10,Puppeteer 预计 Node >= 10.18.1.
indicates you're running Node 8.10 and Puppeteer expects Node >= 10.18.1.
这篇关于我在安装 puppeteer 库时遇到麻烦的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!