NodeJS 部署要呈现的后端代码时出错

irtuqstp  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(185)

我对这个领域相对较新,最近做了一个项目,使用Puppeteer根据用户输入抓取信息。我用express做了后端,我使用的数据库是mongoDB。
该项目在我的本地系统上运行良好,现在我想在渲染上部署它。我已经按照他们的文档执行了这些步骤,但是在部署过程中,我最终遇到了如下错误:

Jun 21 08:41:55 AM  > puppeteer@20.6.0 postinstall /opt/render/project/src/backend/node_modules/puppeteer
Jun 21 08:41:55 AM  > node install.js
Jun 21 08:41:55 AM  
Jun 21 08:41:55 AM  Browser download failed /opt/render/project/src/backend/node_modules/@puppeteer/browsers/lib/cjs/launch.js:48
Jun 21 08:41:55 AM      options.platform ??= (0, detectPlatform_js_1.detectBrowserPlatform)();
Jun 21 08:41:55 AM                       ^^^
Jun 21 08:41:55 AM  
Jun 21 08:41:55 AM  SyntaxError: Unexpected token '??='
Jun 21 08:41:55 AM      at wrapSafe (internal/modules/cjs/loader.js:984:16)
Jun 21 08:41:55 AM      at Module._compile (internal/modules/cjs/loader.js:1032:27)
Jun 21 08:41:55 AM      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
Jun 21 08:41:55 AM      at Module.load (internal/modules/cjs/loader.js:933:32)
Jun 21 08:41:55 AM      at Function.Module._load (internal/modules/cjs/loader.js:774:14)
Jun 21 08:41:55 AM      at Module.require (internal/modules/cjs/loader.js:957:19)
Jun 21 08:41:55 AM      at require (internal/modules/cjs/helpers.js:88:18)
Jun 21 08:41:55 AM      at Object.<anonymous> (/opt/render/project/src/backend/node_modules/@puppeteer/browsers/lib/cjs/main.js:19:19)
Jun 21 08:41:55 AM      at Module._compile (internal/modules/cjs/loader.js:1068:30)
Jun 21 08:41:55 AM      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
Jun 21 08:41:55 AM  added 14 packages from 10 contributors, removed 29 packages, updated 265 packages and audited 280 packages in 36.049s

我试图将??=更改为||,因为我在谷歌上搜索该错误,但它没有效果。我将非常感谢任何帮助。谢谢!

de90aj5v

de90aj5v1#

“??=”只支持node.js版本>=15.14.0,所以,当使用Render部署Node.js项目时,可以使用.nvmrc指定版本
在项目中创建.nvmrc,在.nvmrc中添加15.14.0

15.14.0

您可以查看此链接以获取更多信息:https://render.com/docs/node-version

相关问题