9***@qq.com
9***@qq.com
  • 发布:2024-10-17 22:37
  • 更新:2024-10-18 16:55
  • 阅读:358

【报Bug】公共模块下本地包上传后的云端包版本不同,且无法修改云端包版本,导致该包无法使用【近期出现】

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

1.创建一个test1模块,对该模块npm install cheerio,在index.js引入该模块
2.创建一个nodejs8的test1函数,引入test1模块

预期结果:

本地和云端正常运行,无报错

实际结果:

本地正常运行,云端报错:
/tmp/function/@common_modules/test2/node_modules/cheerio/dist/commonjs/api/attributes.js:300
catch {
^

SyntaxError: Unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:617:28)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tmp/function/@common_modules/test2/node_modules/cheerio/dist/commonjs/cheerio.js:27:33)

bug描述:

我在公共模块npm的是cheerio@1.0.0-rc.10版本,实际云端线上是cheerio@1.0.0
发现原因:由于该版本已不支持nodejs8,因为该包代码中出现try{}catch{}导致引入错误,我查阅资料后使用了cheerio@1.0.0-rc.10版本,但是在报错描述中发现该包代码并未改变。尝试了rc.5到rc-12的版本,所以得出引入的是cheerio@1.0.0版本均无法使用,然而我只能尝试更低的8年前的0.22.0版本,这时候云端版本才会同步。并且我尝试使用nodejs12的情况下会出现:ReferenceError: ReadableStream is not defined,即在这种情况下也无法使用cheerio@1.0.0版本。
希望官方能修复云端包版本和本地包版本一致性的问题。

2024-10-17 22:37 负责人:无 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

你在package.json文件中指定依赖版本就可以了。

要回复问题请先登录注册