Closed ifunplus closed 2 years ago
解决了吗,我也卡在这了
试了下似乎有两种方案:
我猜原因是
tensorflow.js 在 nodejs 环境用了 node-fetch 这个包来做 fetch 操作,在浏览器环境其实用不到,但 node-fetch 的依赖里有 tr46,所以删了包括 node-fetch 和它的整套依赖也不会影响小程序(浏览器)的运行
提供一种新的解决方案 这个问题的原因是 @tensorflow/tfjs-core 这个包引用了 node-fetch node-fetch 的版本要求是 ~2.6.1 本来是没问题的,但是这个包最近升级到了2.6.7 于是新版本的node-fetch 就引用了 whatwg-url 这个包 结果这个whatwg-url 居然就丧心病狂的引用了 tr46 "~0.0.3"
但是对于小程序而言,这个东西完全没有被用到,小程序要使用fetch的时候是使用的"fetch-wechat": "0.0.3" 所以可以在处理好的 yarn.lock 里面(使用npm的自己需要看一下怎么删) 1、将node-fetch "~2.6.1" 修改为 node-fetch "2.6.1" 2、删除掉 whatwg-url 和 tr46 3、重新执行 yarn 命令就会自动移除这两个依赖
非常感谢大家,问题已解决
To get help from the community, we encourage using Stack Overflow and the tensorflow.js tag.
TensorFlow.js 3.8 tfjs-wechat plugin 0.2.0 WeChat version WeChat base API version WeChat IDE version Describe the problem or feature request Code to reproduce the bug / link to feature request
有人知道为什么吗?