如何通过Trunk向Cargo Build传递RUSTFLAGS编译参数?
解决Trunk传递RUSTFLAGS给Cargo构建的问题
以下是几种可行的解决方案:
1. 临时设置环境变量后运行Trunk
根据操作系统选择对应命令,一次性传递RUSTFLAGS参数:
- Linux/macOS(bash/zsh):
RUSTFLAGS='--cfg getrandom_backend="wasm_js"' trunk serve - Windows(PowerShell):
$env:RUSTFLAGS='--cfg getrandom_backend="wasm_js"'; trunk serve - Windows(CMD):
set RUSTFLAGS=--cfg getrandom_backend="wasm_js" && trunk serve
2. 用Cargo配置文件持久化参数
在项目根目录创建或编辑.cargo/config.toml,添加针对wasm目标的rustflags配置:
[target.wasm32-unknown-unknown] rustflags = ["--cfg", 'getrandom_backend="wasm_js"']
配置完成后,直接运行trunk serve即可,无需每次手动设置环境变量。
3. 自定义Trunk的构建命令
编辑项目的Trunk.toml,指定包含rust-flags的Cargo构建命令:
[build] command = "cargo build --target wasm32-unknown-unknown --rust-flags '--cfg getrandom_backend=\"wasm_js\"'"
注意:此方式会覆盖Trunk默认的构建命令,确保命令包含所有必要参数。
额外检查
确认Cargo.toml中rand的wasm_js特性已正确启用:
rand = { version = "0.8", features = ["wasm_js"] }
内容的提问来源于stack exchange,提问作者mario.b
相关产品推荐
相关产品推荐

