我使用了Documentation中所述的profile.image = request.POST.get('imagebase64', "default value")
并且出现以下错误:
(节点:2066)UnhandledPromiseRejectionWarning:错误:未下载Chromium版本。运行“ npm install”或“ yarn install” 在Launcher.launch
当我尝试此示例时(同样来自文档):
npm i puppeteer
也在文档中:
注意:安装Puppeteer时,它会下载保证可以使用该API的最新版本的Chromium(〜170MB Mac,〜282MB Linux,〜280MB Win)。
任何帮助将不胜感激。
答案 0 :(得分:17)
经过大量搜索并尝试了大多数建议之后,我才设法通过手动安装Chromium来解决此问题:
node node_modules/puppeteer/install.js
答案 1 :(得分:4)
就我而言,它在删除了node_modules文件夹和package-lock.json文件并再次运行npm install之后才起作用。
答案 2 :(得分:2)
默认情况下,puppeteer
模块将运行其安装脚本(node install.js
)。但是,就我而言,我在ignore-scripts=true
文件中启用了~/.npmrc
,因此从未执行。
在这种情况下,您必须自己运行命令:
node node_modules/puppeteer/install.js
要检查:node_modules/puppeteer/.local-chromium/linux-<your_chrome_version>/
现在应该存在。
答案 3 :(得分:2)
经过几个小时的谷歌搜索并阅读了许多评论和讨论,尝试了多种方法后,我最终通过此解决方案解决了问题。
OS: Windows 10
node: 14.16.1
puppeteer: 7.0.1
我在 node_modules/puppeteer/
文件夹中看到并发现没有任何 .local-chromium
文件夹所以我手动创建了这个路径
node_modules/puppeteer/.local-chromium/win64-<your_chrome_version>/chrome-win
然后我从 this link (your_chrome_version) 下载了 Chrome 浏览器,然后将其复制到路径中,以便您需要在此 url 中看到 chrome.exe
node_modules/puppeteer/.local-chromium/win64-<your_chrome_version>/chrome-win/chrome.exe
就是这样。它对我有用。
答案 4 :(得分:1)
经过多次尝试,我终于找到了答案here:
sudo npm install puppeteer --unsafe-perm=true --allow-root
答案 5 :(得分:1)
这是因为您的系统上没有安装 Chrome。
用于安装 Chrome
sudo apt install -y chromium-browser
然后添加一个可执行路径。
const browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium-browser',
headless: false
});
答案 6 :(得分:0)
我这样解决了:
const browser = await puppeteer.launch({ executablePath: "./node_modules/puppeteer/.local-chromium/win64-656675/chrome-win/chrome.exe"});
请注意路径中的 win64-656675 ,如果您使用的是其他操作系统,则需要指向相应的文件夹。
木偶版本:1.16.0
答案 7 :(得分:0)
对于Linux:
1-您必须使用以下命令安装了Chrome浏览器:
$ sudo apt install -y铬浏览器
2-您必须使用以下命令获取铬的可执行路径:
$哪个铬浏览器
3将可执行路径作为启动函数的参数:
const puppeteer = require('puppeteer-core');
(async () => {
const browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium-browser',
headless: false
});
const page = await browser.newPage();
await page.goto('https://google.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
答案 8 :(得分:0)
确认此处介绍的解决方案几乎可行。这是我的设置。 Ubuntu 16。
从命令行安装chrimium浏览器。然后:
const browser = await puppeteer.launch({
executablePath: "/usr/bin/chromium-browser",
args: ['--no-sandbox']
});
答案 9 :(得分:0)
如果仍然有人再次遇到此问题。然后转到node_modules文件夹,然后进入puppeteer并在lib中找到启动文件。打开同一个文件并搜索可执行路径,然后将其空值更改为chrome或所需的chrome路径。
对我来说,路径如下:
/home/Nightwing/node_modules/puppeteer/Launcher.js
答案 10 :(得分:-2)
就我而言,我只是忘记了更新后重新加载应用程序