安装时可能无法安装“wasm32-wasi”目标

问题描述 投票:0回答:3

为什么

cargo build --target wasm32-wasi
会在安装时抛出并提示没有
wasm32-wasi
的错误。 重现步骤

  1. 货运新列车
  2. rustup 目标添加 wasm32-wasi
  3. cargo 构建——目标 wasm32-wasi

接下来是控制台的输出

➜  train git:(master) ✗ cargo build --target wasm32-wasi
   Compiling train v0.1.0 (/user/playground/rustLang/train)
error[E0463]: can't find crate for `std`
  |
  = note: the `wasm32-wasi` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-wasi`

error: cannot find macro `println` in this scope
 --> src/main.rs:2:5
  |
2 |     println!("hello");
  |     ^^^^^^^

error: requires `sized` lang_item

For more information about this error, try `rustc --explain E0463`.
error: could not compile `train` due to 3 previous errors
➜  train git:(master) ✗ rustup target add wasm32-wasi
info: component 'rust-std' for target 'wasm32-wasi' is up to date
➜  train git:(master) ✗ 
rust rust-cargo rust-wasm rustup
3个回答
4
投票

我也有同样的问题。我在 MacOS 上:

❮ cargo wasi build --release                                                                                                         
error: failed to find the `wasm32-wasi` target installed, and rustup is also not detected, you'll need to be sure to install the `wasm32-wasi` target before using this command

原来我使用的是 Rust 的自制安装:

❯ which cargo                                                                                                                          
/opt/homebrew/bin/cargo

解决方案是卸载 rust 的自制版本,然后按照 rust-lang.org 上的说明安装该版本(实际代码可能有所不同。只需访问 https://www.rust-lang.org/tools/install 并按照说明进行操作)

❯ brew uninstall rust                                                                                                                  
Uninstalling /opt/homebrew/Cellar/rust/1.67.1... (36,648 files, 891.6MB)

❯ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

0
投票

所以,看来您在运行命令之前没有注册终端: 请确认您已安装emsdk:emscripten

下载后打开powershell终端并进入emsdk文件夹并执行以下命令:

./emsdk 安装最新版

./emsdk激活最新版

在 emsdk 和 wat2wasm 文档中,有必要在执行任何其他命令之前注册终端并加载 emsdk 引用。 在文档中,系统指示您每次打开每个新实例或新终端窗口时都执行此过程。

重新安装 Rust:rust

检查环境变量是否正常,然后重试


-1
投票

您已经在行中得到了答案:

帮助:考虑使用

rustup target add wasm32-wasi

下载目标

在命令提示符中只需键入:> rustup target install wasm32-wasi

© www.soinside.com 2019 - 2024. All rights reserved.