0

我收到一个 JS 错误:Uncaught (in promise) TypeError: WebAssembly.instantiate(): Import #0 module="env" error: module is not an object or function

当我在 Chrome 开发工具中查看 wasm 文件时,我在顶部看到这样的导入语句:

(module
  (func $blst_hash_to_g2 (;0;) (import "env" "blst_hash_to_g2") (param i32 i32 i32 i32 i32 i32 i32))
  (func $blst_sign_pk2_in_g1 (;1;) (import "env" "blst_sign_pk2_in_g1") (param i32 i32 i32 i32))
  (func $blst_scalar_from_bendian (;2;) (import "env" "blst_scalar_from_bendian") (param i32 i32))
  (func $blst_sk_check (;3;) (import "env" "blst_sk_check") (param i32) (result i32))

是什么导致了这些导入语句?如何删除或修复它们?我可以看到它们是blst包中包含的 Rust 包的blsttc一部分。该blst包使用 bindgen 生成与 blst.h 的 FFI 绑定,所以也许这与它有关?

这个Github repo有代码。我正在使用wasm-pack build --target=web

4

1 回答 1

0

我通过切换到具有最新所有内容的 Ubuntu 20.04 来解决此问题,现在它运行良好。我在 mac os 10.15.7 上。

于 2021-07-08T07:07:14.367 回答