Version
Fastly CLI version v16.0.0 (Homebrew)
Built with go version go1.26.5 darwin/arm64 (2026-08-27)
Viceroy version: viceroy 0.20.1
macOS 26.6.2, Homebrew 6.0.19
What happened
I used homebrew to install both rust and rustup on my machine. I have wasm32-wasip1 installed, but homebrew's rust and cargo shadows the rustup version. When I init a new compute service the preflight check detects wasm32-wasip1 and passes, and the build fails ~20 crates in with unhelpful advice that won't fix the issue.
In a clean directory I ran:
$ fastly compute init --non-interactive --language rust \
--from https://github.com/fastly/compute-starter-kit-rust-default
$ fastly compute build
Result:
✓ Verifying fastly.toml
✓ Identifying package name
✓ Identifying toolchain
✗ Running [scripts.build]
INFO: Command output:
--------------------------------------------------------------------------------
Compiling proc-macro2 v1.0.106
... ~20 more crates ...
error[E0463]: can't find crate for `core`
= note: the `wasm32-wasip1` target may not be installed
= help: consider downloading the target with `rustup target add wasm32-wasip1`
error[E0463]: can't find crate for `std`
= note: the `wasm32-wasip1` target may not be installed
= help: consider downloading the target with `rustup target add wasm32-wasip1`
error: could not compile `itoa` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile `stable_deref_trait` (lib) due to 1 previous error
... 5 more `could not compile` lines ...
--------------------------------------------------------------------------------
ERROR: error during execution process (see 'command output' above): exit status 101.
Expected
I suppose I expected that it would init without an error, but after figuring out the PATH shadowing I'd be happy with a preflight check and an actionable error.
Investigation
The target is installed in rustup:
$ rustup target list --installed
aarch64-apple-darwin
wasm32-wasip1
$ rustup target add wasm32-wasip1
info: component rust-std for target wasm32-wasip1 is up to date
So I look at the rest of the environment to see which version of rust / cargo / the toolchain I'm running.
$ command -v cargo rustc
/opt/homebrew/bin/cargo
/opt/homebrew/bin/rustc
$ cargo --version
cargo 1.97.1 (c980f4866 2026-06-30) (Homebrew)
$ rustup which cargo
/Users/lonnen/.rustup/toolchains/stable-aarch64-apple-darwin/bin/cargo
$ echo "$PATH" | tr ":" '\n'
...
/Users/lonnen/.cargo/bin
/opt/homebrew/bin
/opt/homebrew/sbin
...
Version
macOS 26.6.2, Homebrew 6.0.19
What happened
I used homebrew to install both
rustandrustupon my machine. I havewasm32-wasip1installed, but homebrew's rust and cargo shadows therustupversion. When I init a new compute service the preflight check detectswasm32-wasip1and passes, and the build fails ~20 crates in with unhelpful advice that won't fix the issue.In a clean directory I ran:
Result:
Expected
I suppose I expected that it would init without an error, but after figuring out the PATH shadowing I'd be happy with a preflight check and an actionable error.
Investigation
The target is installed in rustup:
$ rustup target list --installed aarch64-apple-darwin wasm32-wasip1 $ rustup target add wasm32-wasip1 info: component rust-std for target wasm32-wasip1 is up to dateSo I look at the rest of the environment to see which version of rust / cargo / the toolchain I'm running.