tensorflow / tfjs-wechat

WeChat Mini-program plugin for TensorFlow.js
https://tensorflow.org/js
553 stars 104 forks source link

npm 构建太慢了,正在编译代码miniptogram_npm/tr46/index.js 一直处在加载中,为什么啊 #110

Closed ifunplus closed 2 years ago

ifunplus commented 3 years ago

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

有人知道为什么吗?

Futureee commented 3 years ago

解决了吗,我也卡在这了

bbtfr commented 3 years ago

试了下似乎有两种方案:

  1. 小程序开发者工具 里 “构建 NPM” 之后删掉 miniprogram_npm/tr46 这个包
  2. miniprogram-ci 这个工具代替 小程序开发者工具 来构建项目

我猜原因是

tensorflow.js 在 nodejs 环境用了 node-fetch 这个包来做 fetch 操作,在浏览器环境其实用不到,但 node-fetch 的依赖里有 tr46,所以删了包括 node-fetch 和它的整套依赖也不会影响小程序(浏览器)的运行

EVA09 commented 2 years ago

提供一种新的解决方案 这个问题的原因是 @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 命令就会自动移除这两个依赖

ifunplus commented 2 years ago

非常感谢大家,问题已解决