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

Open
@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?

info!("Installing wasm-bindgen-cli...");
let bindgen = install::download_prebuilt_or_cargo_install(
Tool::WasmBindgen,
&self.cache,
bindgen_version,
self.mode.install_permitted(),
)?;
self.bindgen = Some(bindgen);

🌍 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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions