RustでWebAssemblyにコンパイルした時にエラーが出てしまいます。

//rust
extern crate rand;
use rand::Rng;

fn main() {
    let secret_number = rand::thread_rng().gen_range(1, 101);
    secret_number;
}
//toml
[package]
name = "main"
version = "0.1.0"
authors = ["akats"]
edition = "2018"

[dependencies]
rand="*"

これをrustc main.rsでコンパイルした時、次のエラーがでます。

or[E0464]: multiple matching crates for `rand`
 --> main.rs:1:1
  |
1 | extern crate rand;
  | ^^^^^^^^^^^^^^^^^^
  |
  = note: candidates:
          crate `rand`: \\?\C:\Users\akats\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librand-453efbf1160c222c.rlib
          crate `rand`: \\?\C:\Users\akats\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librand-9c0cd53839437cf2.rlib
          crate `rand`: \\?\C:\Users\akats\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librand-6d48c3cad20b5526.rlib

error[E0463]: can't find crate for `rand`
 --> main.rs:1:1
  |
1 | extern crate rand;
  | ^^^^^^^^^^^^^^^^^^ can't find crate

error: aborting due to 2 previous errors

Some errors occurred: E0463, E0464.
For more information about an error, try `rustc --explain E0463`.

普通にRustだけで出力するとうまくいきますが何がダメなのかわかりません。よろしくお願いします。