You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

编译js-hello-world时libwasm_bindgen文件卡住无CPU占用求助

解决wasm-bindgen编译时libwasm_bindgen进程卡住的问题

我之前也碰到过几乎一模一样的情况!当时折腾了好一阵才找到几个有效的解决方向,你可以挨个尝试:

  • 确保wasm-bindgen依赖与CLI版本完全匹配
    你在Cargo.toml里用的是wasm-bindgen = "0.2.1",这个版本非常老旧,和新版的Rust nightly大概率存在兼容性问题。先执行下面的命令查看你安装的CLI版本:

    wasm-bindgen --version
    

    然后把Cargo.toml里的wasm-bindgen版本号改成和CLI完全一致的,比如如果CLI版本是0.2.87,就修改为:

    [dependencies]
    wasm-bindgen = "0.2.87"
    
  • 更新到最新的Nightly版本
    旧版Nightly可能存在wasm目标编译的bug,执行以下命令更新并切换到最新Nightly:

    rustup update nightly
    rustup default nightly
    
  • 清理Cargo缓存后重新编译
    有时候Cargo的缓存文件会损坏导致编译异常,先清理缓存再重新尝试:

    cargo clean
    cargo build --target wasm32-unknown-unknown
    
  • 检查依赖下载完整性
    如果之前下载依赖时网络不稳定,可能导致部分文件缺失。你可以删除~/.cargo/registry/src目录下与wasm-bindgen相关的文件夹,然后重新执行cargo build让Cargo重新下载完整的依赖包。

另外,编译时加上-v参数可以查看详细日志,能更精准地定位卡住的环节:

cargo build --target wasm32-unknown-unknown -v

内容的提问来源于stack exchange,提问作者Grigoriy

火山引擎 最新活动