installation - 为 Chrome 扩展捆绑 Puppeteer 时引发错误
问题描述
我目前正在尝试按照说明捆绑 puppeteer 以与我的 Chrome 扩展项目集成,在该项目中,我将在网页上抓取位置页面并使用传单将其显示在地图上。但是,我一直在设置过程中遇到麻烦。目前我被困在过程的第 2 步和第 3 步。在由它返回的命令创建npm install
的\puppeteer
文件夹中运行时。git clone https://github.com/puppeteer/puppeteer && cd puppeteer
Puppeteer: Compiling TypeScript...
Error running TypeScript Error: Command failed: npm run tsc
'rm' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer@5.2.1-post clean-lib: `rm -rf lib`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the puppeteer@5.2.1-post clean-lib script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\username\AppData\Roaming\npm-cache\_logs\2020-08-31T21_57_06_630Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer@5.2.1-post tsc: `npm run clean-lib && tsc --version && npm run tsc-cjs && npm run tsc-esm`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the puppeteer@5.2.1-post tsc script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\username\AppData\Roaming\npm-cache\_logs\2020-08-31T21_57_06_646Z-debug.log
at ChildProcess.exithandler (child_process.js:303:12)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) {
killed: false,
code: 1,
signal: null,
cmd: 'npm run tsc',
stdout: '\n' +
'> puppeteer@5.2.1-post tsc C:\\Users\\username\\node_modules\\puppeteer\n' +
'> npm run clean-lib && tsc --version && npm run tsc-cjs && npm run tsc-esm\n' +
'\n' +
'\n' +
'> puppeteer@5.2.1-post clean-lib C:\\Users\\username\\node_modules\\puppeteer\n' +
'> rm -rf lib\n' +
'\n',
stderr: "'rm' is not recognized as an internal or external command,\r\n" +
'operable program or batch file.\r\n' +
'npm ERR! code ELIFECYCLE\n' +
'npm ERR! errno 1\n' +
'npm ERR! puppeteer@5.2.1-post clean-lib: `rm -rf lib`\n' +
'npm ERR! Exit status 1\n' +
'npm ERR! \n' +
'npm ERR! Failed at the puppeteer@5.2.1-post clean-lib script.\n' +
'npm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n' +
'\n' +
'npm ERR! A complete log of this run can be found in:\n' +
'npm ERR! C:\\Users\\username\\AppData\\Roaming\\npm-cache\\_logs\\2020-08-31T21_57_06_630debug.log\n' +
'npm ERR! code ELIFECYCLE\n' +
'npm ERR! errno 1\n' +
'npm ERR! puppeteer@5.2.1-post tsc: `npm run clean-lib && tsc --version && npm run tsc-cjs && npm run tsc-esm`\n' +
'npm ERR! Exit status 1\n' +
'npm ERR! \n' +
'npm ERR! Failed at the puppeteer@5.2.1-post tsc script.\n' +
'npm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n' +
'\n' +
'npm ERR! A complete log of this run can be found in:\n' +
'npm ERR! C:\\Users\\username\\AppData\\Roaming\\npm-cache\\_logs\\2020-08-31T21_57_06_646Z-debug.log\n'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer@5.2.1-post install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the puppeteer@5.2.1-post install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
还有什么时候npm run bundle
运行它说missing script:bundle.js
我在 Windows 10 上运行所有这些,我安装了 Node v12.18.3 和 npm v6.14.6。
我已经安装了 browserify,但是我还没有使用它。我还需要设置什么吗?此外,如果在 Chrome 扩展程序上有更好的网络抓取替代方案,请告诉我。
感谢您的时间!
解决方案
git clone https://github.com/puppeteer/puppeteer
当您执行此命令时,它将下载最新版本的 Puppeteer。
出现问题是因为最新版本的 Puppeteer 缺少一些旧命令和文件。这在制作教程时就已经存在了。
更多解释:
Typescript Error:
You need to install typescript in npm I found it here捆绑错误:
这是package.json文件版本 5.5.0 的屏幕截图:
package.json 版本 5.5.0
这是package.json文件版本 2.1.1 的屏幕截图:
package.json 版本 2.1.0
您将"scripts":{"bundle":"bundle": "npx browserify -r ./install.js:puppeteer -o utils/browser/puppeteer-web.js"}
在新版本。当您尝试执行npm run bundle
时,它会发现什么都没有执行。这是缺少东西的一个小例子。总的来说,当然这两个版本之间存在很大差异。
解决方案:
我相信这是一个临时解决方案,因为我们缺少很多更新。另外我正在研究另一种使用捆绑的最新版本的解决方案。一旦我到达它,我将更新我的分析器。
- 所以你必须手动下载旧版本的 Puppeteer:
下载 Puppeteer 版本 2.1.0 - 下载此版本后,转到其文件夹并执行命令:
npm install -g typescript
npm install
npm run bundle
推荐阅读
- typescript - 等待函数完成
- flutter - Flutter中TextField的BeveledRectangleBorder如何
- amazon-web-services - AWS CloudFront 为 us-east-1 以外的区域返回 503
- python - PyGithub:如何使用 get_repositories 搜索多个主题
- amazon-web-services - 我们可以将 Amazon Honeycode 应用程序移至 Android Play 商店吗?
- vba - 将每个数组项输出到文本框中的行中
- java - 从满足条件的数组中获取随机对象
- scala - sbt 错误:对象 spark 不是包 org.apache 的成员
- java - 使用 Java Spring Framework 连接到 SQL Server 时出错 - 无法加载 JDBC 驱动程序类
- mysql - 在内部连接中迭代地使用 MySQL LAG()