Skip to content

wasm-pack fails at "Installing wasm-bindgen" for rust <=1.80 due to wasm-bindgen-cli having dependencies with MSRV >=1.81 #1498

@corneliusroemer

Description

@corneliusroemer

🐛 Bug description

wasm-pack fails in a project that uses Rust 1.80 (set through rust-toolchain.toml) due to wasm-bindgen-cli installation failing:

$ wasm-pack build --release --target=bundler --out-dir=.build/wasm-prod/ --out-name=nextclade-wasm --locked -- --package=nextclade-web
[INFO]: 🎯  Checking for the Wasm target...
[INFO]: 🌀  Compiling to Wasm...
   Compiling nextclade-web v3.13.1 (/Users/cr/code/nextclade/packages/nextclade-web)
    Finished `release` profile [optimized] target(s) in 13.14s
[INFO]: ⬇️  Installing wasm-bindgen...
    Updating crates.io index
  Installing wasm-bindgen-cli v0.2.93
    Updating crates.io index
     Locking 200 packages to latest compatible versions
      Adding base64 v0.13.1 (latest: v0.22.1)
      Adding brotli-decompressor v4.0.3 (latest: v5.0.0)
      Adding fallible-iterator v0.2.0 (latest: v0.3.0)
      Adding getrandom v0.2.16 (latest: v0.3.2)
      Adding gimli v0.26.2 (latest: v0.31.1)
      Adding hashbrown v0.12.3 (latest: v0.15.2)
      Adding hashbrown v0.14.5 (latest: v0.15.2)
      Adding heck v0.3.3 (latest: v0.5.0)
      Adding hermit-abi v0.3.9 (latest: v0.5.0)
      Adding indexmap v1.9.3 (latest: v2.9.0)
      Adding js-sys v0.3.70 (latest: v0.3.77)
      Adding quick-error v1.2.3 (latest: v2.0.1)
      Adding rand v0.8.5 (latest: v0.9.1)
      Adding rand_chacha v0.3.1 (latest: v0.9.0)
      Adding rand_core v0.6.4 (latest: v0.9.3)
      Adding strsim v0.10.0 (latest: v0.11.1)
      Adding syn v1.0.109 (latest: v2.0.101)
      Adding tinystr v0.7.6 (latest: v0.8.1)
      Adding twoway v0.1.8 (latest: v0.2.2)
      Adding ureq v2.12.1 (latest: v3.0.11)
      Adding walrus v0.21.3 (latest: v0.23.3)
      Adding walrus-macro v0.19.0 (latest: v0.22.0)
      Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.14.2+wasi-0.2.4)
      Adding wasm-bindgen v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-backend v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-cli v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-cli-support v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-externref-xform v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-macro v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-macro-support v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-multi-value-xform v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-shared v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-threads-xform v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-wasm-conventions v0.2.93 (latest: v0.2.100)
      Adding wasm-bindgen-wasm-interpreter v0.2.93 (latest: v0.2.100)
      Adding wasm-encoder v0.212.0 (latest: v0.229.0)
      Adding wasmparser v0.212.0 (latest: v0.229.0)
      Adding windows-sys v0.52.0 (latest: v0.59.0)
      Adding windows-targets v0.52.6 (latest: v0.53.0)
      Adding windows_aarch64_gnullvm v0.52.6 (latest: v0.53.0)
      Adding windows_aarch64_msvc v0.52.6 (latest: v0.53.0)
      Adding windows_i686_gnu v0.52.6 (latest: v0.53.0)
      Adding windows_i686_gnullvm v0.52.6 (latest: v0.53.0)
      Adding windows_i686_msvc v0.52.6 (latest: v0.53.0)
      Adding windows_x86_64_gnu v0.52.6 (latest: v0.53.0)
      Adding windows_x86_64_gnullvm v0.52.6 (latest: v0.53.0)
      Adding windows_x86_64_msvc v0.52.6 (latest: v0.53.0)
      Adding wit-bindgen-rt v0.39.0 (latest: v0.41.0)
      Adding writeable v0.5.5 (latest: v0.6.1)
      Adding yoke v0.7.5 (latest: v0.8.0)
      Adding yoke-derive v0.7.5 (latest: v0.8.0)
      Adding zerocopy v0.7.35 (latest: v0.8.25)
      Adding zerocopy-derive v0.7.35 (latest: v0.8.25)
      Adding zerovec v0.10.4 (latest: v0.11.1)
      Adding zerovec-derive v0.10.3 (latest: v0.11.1)
error: failed to compile `wasm-bindgen-cli v0.2.93`, intermediate artifacts can be found at `/var/folders/z6/j6fz8zq10rj35_kc0zy_f28w0000gn/T/cargo-installQNVh8q`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

Caused by:
  rustc 1.80.0 is not supported by the following packages:
    [email protected] requires rustc 1.81
    [email protected] requires rustc 1.81
  Try re-running `cargo install` with `--locked`
Error: Installing wasm-bindgen with cargo
Caused by: Installing wasm-bindgen with cargo
Caused by: failed to execute `cargo install`: exited with exit status: 101
  full command: "cargo" "install" "--force" "wasm-bindgen-cli" "--root" "/Users/cr/Library/Caches/.wasm-pack/.wasm-bindgen-cargo-install-0.2.93" "--version" "0.2.93"

error: failed to compile wasm-bindgen-cli v0.2.93` due to `rustc 1.80.0 is not supported by the following packages:
    [email protected] requires rustc 1.81
    [email protected] requires rustc 1.81

🤔 Expected Behavior

wasm-pack can be used with rust <=1.80 without error.

The code in question might be here, maybe a --locked should be added?

https://github.com/rustwasm/wasm-pack/blob/32e52ca893e26c97bbf478c57ae1e9abed23c449/src/command/build.rs#L423-L430

🌍 Your environment

Include the relevant details of your environment.
wasm-pack version: 0.13.1
rustc version: 1.80.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions