Dioxus: Difference between revisions

Document easiest solution to solving wasm-bindgen version issue
Further explanation of wasm-bindgen pinning of CLI.
Line 4: Line 4:


==== ''wasm-bindgen'' mismatch ====
==== ''wasm-bindgen'' mismatch ====
A common issue with using the ''dioxus-cli'' version from Nixpkgs is encountering the following error:<syntaxhighlight lang="text">
A common issue when using the ''dioxus-cli'' version from Nixpkgs is encountering the following error:<syntaxhighlight lang="text">
it looks like the Rust project used to create this Wasm file was linked against
it looks like the Rust project used to create this Wasm file was linked against
version of wasm-bindgen that uses a different bindgen format than this binary:
version of wasm-bindgen that uses a different bindgen format than this binary:
Line 22: Line 22:
</syntaxhighlight>Run ''cargo update'', and you should see the version being downgraded.<syntaxhighlight lang="text">
</syntaxhighlight>Run ''cargo update'', and you should see the version being downgraded.<syntaxhighlight lang="text">
Updating wasm-bindgen v0.2.97 -> v0.2.99
Updating wasm-bindgen v0.2.97 -> v0.2.99
</syntaxhighlight>You will also want to ensure the version of ''wasm-bindgen-cli'' matches, which can be done via looking up the current version from the lock file. <syntaxhighlight lang="nix">
cargoLock = builtins.fromTOML (builtins.readFile ./Cargo.lock);
wasmBindgen = pkgs.lib.findFirst
  (pkg: pkg.name == "wasm-bindgen")
  (throw "Could not find wasm-bindgen package")
  cargoLock.package;
wasm-bindgen-cli = pkgs.wasm-bindgen-cli.override {
  version = wasmBindgen.version;
  hash = pkgs.lib.fakeHash;
  cargoHash = pkgs.lib.fakeHash;
};
</syntaxhighlight>
</syntaxhighlight>
[[Category:Applications]]
[[Category:Applications]]