编译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




