typescript - deno puppeteer 'chrome tidak dijumpai' cuba untuk mengimport kebergantungan npm
Saya sedang mencuba untuk menggunakan node-html-to-image dalam deno:
import nodeHtmlToImage from "npm:node-html-to-image";
nodeHtmlToImage({
output: './image.png',
html: '<html><body>Hello world!</body></html>'
})
.then(() => console.log('The image was created successfully!'))
deno run --allow-env --allow-read --allow-write that-file.ts menyebabkan ralat ini:
error: Uncaught Error: Unable to launch browser, error message: Could not find expected browser (chrome) locally. Run `npm install` to download the correct Chromium revision (982053).
at Cluster.<anonymous> (file:///Users/theonlygusti/Library/Caches/deno/npm/registry.npmjs.org/puppeteer-cluster/0.23.0/dist/Cluster.js:119:23)
at Generator.throw (<anonymous>)
at rejected (file:///Users/theonlygusti/Library/Caches/deno/npm/registry.npmjs.org/puppeteer-cluster/0.23.0/dist/Cluster.js:6:65)
Bagaimana saya boleh menggunakan pakej npm node-html-to-image dari Deno?
Jawapan #1
Pada asasnya, ini dijawab dalam Tidak dapat mencari chrome pelayar yang dijangka secara tempatan.
Bahagian khusus Deno adalah, bahawa direktori pemasangan NPM adalah berbeza daripada pemasangan Node yang biasa.
Apabila anda menggunakan penentu npm dalam Deno, contohnya import nodeHtmlToImage from "npm:node-html-to-image";, pakej Node akan dipasang di sebahagian direktori cache deno:
- Windows:
<direktori pengguna>/AppData/Local/deno/npm/registry.npmjs.org/ - macOS:
~/Library/Caches/deno/npm/registry.npmjs.org - Linux:
$XDG_CACHE_HOME/deno/npm/registry.npmjs.orgatau$HOME/.cache/deno/npm/registry.npmjs.org
dan khusus untuk Puppeteer: deno/npm/registry.npmjs.org/puppeteer/13.7.0
Dalam mesej ralat ia disebut untuk
Jalankan
npm installuntuk memuat turun reviu Chromium yang betul (982053)
Itu bermakna anda perlu menjalankan npm install dalam direktori Puppeteer di atas, yang mengandungi fail bernama install.js.
Ini akan memasang semakan yang betul bagi pakej chromium ke dalam direktori Puppeteer di bawah .local-chromium.
Berita buruknya ialah (sekurang-kurangnya di bawah Windows), bahawa anda mungkin akan mendapat ralat seterusnya, iaitu
Ralat Tidak Ditangkap: Tidak dapat melancarkan pelayar, mesej ralat: Windows hanya menyokong ctrl-c (SIGINT) dan ctrl-break (SIGBREAK).