Puppeteer Error: Chromium revision is not downloaded
Puppeteer Error: Chromium revision is not downloaded
我按照 Documentation 中的说明使用了 npm i puppeteer
我收到以下错误:
(node:2066) UnhandledPromiseRejectionWarning:错误:未下载 Chromium 修订版。 运行 "npm install" 或 "yarn install"
在 Launcher.launch
当我尝试这个例子时(也来自文档):
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
也在文档中:
Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API.
如有任何帮助,我们将不胜感激。
经过多次尝试终于找到了答案here:
sudo npm install puppeteer --unsafe-perm=true --allow-root
正如@vsync 指出的那样,这仅适用于 linux
我是这样解决的:
const browser = await puppeteer.launch({ executablePath: "./node_modules/puppeteer/.local-chromium/win64-656675/chrome-win/chrome.exe"});
注意路径中的 win64-656675,如果您使用的是不同的操作系统,则需要指向相应的文件夹。
人偶版本:1.16.0
对于 linux:
1- 您必须使用此命令安装 chromium 浏览器:
$sudo apt install -y chromium-browser
2- 您必须使用此命令获取 chromium 的可执行路径:
$which chromium-browser
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();
})();
确认此处提供的解决方案几乎有效。这是我的设置。 Ubuntu16.
然后从命令行安装 chromium 浏览器:
const browser = await puppeteer.launch({
executablePath: "/usr/bin/chromium-browser",
args: ['--no-sandbox']
});
如果有人再次遇到这个问题。然后转到 node_modules 文件夹,然后进入 puppeteer 并在 lib 中找到 launch.js 打开相同的文件并搜索 executablepath 然后将其空值更改为您的 chrome 或 chromium 所需的路径。
我的路径如下:
/home/Nightwing/node_modules/puppeteer/Launcher.js
在我的例子中,它在删除 node_modules 文件夹和 package-lock.json 文件并再次 运行 npm install 后工作。
经过大量搜索并尝试了大部分建议后,我才通过手动安装 Chromium 解决了这个问题:
node node_modules/puppeteer/install.js
默认情况下,puppeteer
模块将 运行 其安装脚本 (node install.js
)。但是,就我而言,我在 ~/.npmrc
文件中启用了 ignore-scripts=true
,因此它从未被执行。
在这种情况下,您必须自己 运行 命令:
node node_modules/puppeteer/install.js
要检查:node_modules/puppeteer/.local-chromium/linux-<your_chrome_version>/
现在应该存在了。
这是因为您的系统上没有安装 Chrome。
用于安装 Chrome
sudo apt install -y chromium-browser
然后添加一个可执行路径。
const browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium-browser',
headless: false
});
经过几个小时的谷歌搜索和阅读许多评论和讨论,尝试了几种方法,最终我用这个解决方案解决了问题。
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) 下载了 chromium 浏览器,然后将其复制到路径中,以便您需要在 url 中看到 chrome.exe
node_modules/puppeteer/.local-chromium/win64-<your_chrome_version>/chrome-win/chrome.exe
就是这样。它对我有用。
在 Windows 上可以作为全局安装
npm i puppeteer --g
我是这样解决的
const browser = await puppeteer.launch({
headless: true,
ignoreDefaultArgs: ['--disable-extensions'], // this made it work for now
});
通过 ignoreDefaultArgs: ['--disable-extensions']
完成技巧
来源: Troubleshoot
我按照 Documentation 中的说明使用了 npm i puppeteer
我收到以下错误:
(node:2066) UnhandledPromiseRejectionWarning:错误:未下载 Chromium 修订版。 运行 "npm install" 或 "yarn install" 在 Launcher.launch
当我尝试这个例子时(也来自文档):
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
也在文档中:
Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API.
如有任何帮助,我们将不胜感激。
经过多次尝试终于找到了答案here:
sudo npm install puppeteer --unsafe-perm=true --allow-root
正如@vsync 指出的那样,这仅适用于 linux
我是这样解决的:
const browser = await puppeteer.launch({ executablePath: "./node_modules/puppeteer/.local-chromium/win64-656675/chrome-win/chrome.exe"});
注意路径中的 win64-656675,如果您使用的是不同的操作系统,则需要指向相应的文件夹。
人偶版本:1.16.0
对于 linux:
1- 您必须使用此命令安装 chromium 浏览器:
$sudo apt install -y chromium-browser
2- 您必须使用此命令获取 chromium 的可执行路径:
$which chromium-browser
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();
})();
确认此处提供的解决方案几乎有效。这是我的设置。 Ubuntu16.
然后从命令行安装 chromium 浏览器:
const browser = await puppeteer.launch({
executablePath: "/usr/bin/chromium-browser",
args: ['--no-sandbox']
});
如果有人再次遇到这个问题。然后转到 node_modules 文件夹,然后进入 puppeteer 并在 lib 中找到 launch.js 打开相同的文件并搜索 executablepath 然后将其空值更改为您的 chrome 或 chromium 所需的路径。
我的路径如下:
/home/Nightwing/node_modules/puppeteer/Launcher.js
在我的例子中,它在删除 node_modules 文件夹和 package-lock.json 文件并再次 运行 npm install 后工作。
经过大量搜索并尝试了大部分建议后,我才通过手动安装 Chromium 解决了这个问题:
node node_modules/puppeteer/install.js
默认情况下,puppeteer
模块将 运行 其安装脚本 (node install.js
)。但是,就我而言,我在 ~/.npmrc
文件中启用了 ignore-scripts=true
,因此它从未被执行。
在这种情况下,您必须自己 运行 命令:
node node_modules/puppeteer/install.js
要检查:node_modules/puppeteer/.local-chromium/linux-<your_chrome_version>/
现在应该存在了。
这是因为您的系统上没有安装 Chrome。
用于安装 Chrome
sudo apt install -y chromium-browser
然后添加一个可执行路径。
const browser = await puppeteer.launch({
executablePath: '/usr/bin/chromium-browser',
headless: false
});
经过几个小时的谷歌搜索和阅读许多评论和讨论,尝试了几种方法,最终我用这个解决方案解决了问题。
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) 下载了 chromium 浏览器,然后将其复制到路径中,以便您需要在 url 中看到 chrome.exe
node_modules/puppeteer/.local-chromium/win64-<your_chrome_version>/chrome-win/chrome.exe
就是这样。它对我有用。
在 Windows 上可以作为全局安装
npm i puppeteer --g
我是这样解决的
const browser = await puppeteer.launch({
headless: true,
ignoreDefaultArgs: ['--disable-extensions'], // this made it work for now
});
通过 ignoreDefaultArgs: ['--disable-extensions']
完成技巧
来源: Troubleshoot