Seed-rs Quick Start 前提条件

seed-rs quick start 有些前提还是没有写明,记录一下

环境

  • Windows 11 专业版
  • rustc 1.55.0 (c8dfcfe04 2021-09-06)

准备和安装

cargo-generate

cargo install cargo-generate

cargo-make

cargo install cargo-make

从模版创建工程

cargo generate --git https://github.com/seed-rs/seed-quickstart.git --name seed-test

这时根据说明,我们应该可以执行 cargo make servecargo make watch 了, 但是 cargo make watch 会报错:

error: failed to run custom build command for `openssl-sys v0.9.67`

Caused by:
  process didn't exit successfully: `C:\Users\xxxxx\AppData\Local\Temp\cargo-installe2YAV1\release\build\openssl-sys-49fc9d1d13ff487b\build-script-main` (exit code: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_NO_VENDOR
  X86_64_PC_WINDOWS_MSVC_OPENSSL_NO_VENDOR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
  OPENSSL_NO_VENDOR unset
  running "perl" "./Configure" "--prefix=C:\\Users\\xxxxx\\AppData\\Local\\Temp\\cargo-installe2YAV1\\release\\build\\openssl-sys-63e19a01292f2171\\out\\openssl-build\\install" "no-dso" "no-shared" "no-ssl3" "no-unit-test" "no-comp" "no-zlib" "no-zlib-dynamic" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "no-engine" "no-asm" "VC-WIN64A"

  --- stderr
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "系统找不到指定的文件。" }', C:\Users\xxxxx\scoop\persist\rustup-msvc\.cargo\registry\src\github.com-1ecc6299db9ec823\openssl-src-111.16.0+1.1.1l\src\lib.rs:477:39
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile `wasm-pack v0.10.1`, intermediate artifacts can be found at `C:\Users\xxxxx\AppData\Local\Temp\cargo-installe2YAV1`

Caused by:
  build failed
[cargo-make][1] ERROR - Error while executing command, exit code: 101

仔细看了下报错信息,应该是没有找到 perl,这也不意外,因为我们没有安装 perl

安装 perl

使用 scoop 的话,安装 perl 非常简单:

scoop install perl

如果没有使用 scoop,可以参考 这里 安装

总结

在已经安装好 rust 的前提下,我们还需要安装:

  • cargo-generate
  • cargo-make
  • perl