leptos with axum: Issue with wasm-bindgen versions

795 views Asked by At

I am just getting started with Rust and Leptos, so I'm also quite new to the whole rust / cargo ecosystem.

I was following the leptos tutorial to setup a new leptos project using axum. When I tried starting the project with

cargo leptos watch

I ran into the following issue:

Error: at `/Users/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-leptos-0.1.9/src/compile/front.rs:46:30`

Caused by:
    0: at `/Users/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-leptos-0.1.9/src/compile/front.rs:111:10`
    1: 
       
       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:
       
         rust wasm file schema version: 0.2.84
            this binary schema version: 0.2.86
       
       Currently the bindgen format is unstable enough that these two schema versions
       must exactly match. You can accomplish this by either updating this binary or 
       the wasm-bindgen dependency in the Rust project.
       
       You should be able to update the wasm-bindgen dependency with:
       
           cargo update -p wasm-bindgen --precise 0.2.86
       
       don't forget to recompile your wasm file! Alternatively, you can update the 
       binary with:
       
           cargo install -f wasm-bindgen-cli --version 0.2.84
       
       if this warning fails to go away though and you're not sure what to do feel free
       to open an issue at https://github.com/rustwasm/wasm-bindgen/issues!

I tried both suggested solutions. The first one gives me

    Updating crates.io index
error: failed to select a version for the requirement `wasm-bindgen = "=0.2.84"`
candidate versions found which didn't match: 0.2.86
location searched: crates.io index
required by package `start-axum v0.1.0 (...)`
perhaps a crate was updated and forgotten to be re-vendored?

The second option gives me no errors, but it doesn't resolve the initial problem.

Anyone had this issue before?

3

There are 3 answers

0
platzhersh On BEST ANSWER

Just changed the was-bindgen in Cargo.toml to wasm-bindgen = "=0.2.86" and now it works - as also suggested by @kmdreko.

cargo update does not seem to force update packages, if they are defined with an exact version (=)

0
leptos_user On

I had the same problem, asked on the github repo. Answer: updating to the latest cargo-leptos and then running cargo update in your application will likely resolve the issue.

worked for me

1
Salman Mustansar On

I was also having the same issue but I opened the file VS code and the opened the TOML file and then changed the version of it and then saved it. It worked for me I hope it will work for you as well.