This morning I ran through the process of installing and running sand in a brand new macOS 26 VM and it did not go smoothly.
Setup:
- Create a new VM instance with macOS 26
- Install git and homebrew
- Run
brew install banksean/tap/sand
- Create a new project directory,
cd into it and run git init to initialize it
Run sand new and get this error:
Prerequisite check messages are noisy when they can and should be clear about the remedy and what to do next. In this case, the "container-dns-domain-set" message is a distraction and should have been omitted. It should say only this (or better yet, perhaps offer to download and install it automatically):
sand new
error: apple/container 0.12.0 is not installed. Install it from https://github.com/apple/container/releases/download/0.12.0/container-0.12.0-installer-signed.pkg
After installing apple/container, run sand new again and get this error:
sand could offer to set this to a reasonable default with a [Y/n]? confirmation, in addition to printing the CLI command.
After setting the dns.domain property, run sand new again and get this error:
This failed to list images error message totally obscures the actual problem. In this case (fresh install of OS, apple/container etc), the container system service isn't running yet, which causes the image ls command to fail. The user needs to run container system start in order to get past this error, so the error message should say exactly that (and optionally, offer to run it for the user).
After discovering this issue (by running container image ls from the terminal to see why it was failing) and fixing it by running container system start, I ran into my final blocker:
Virtualization is not available on this hardware is a macOS VM configuration problem with my test setup here. This should be tracked as a separate issue (e.g. "make sand smarter about detecting when it is running in a macOS (not linux) VM" or "configure test macOS vm to enable virtualization" )
This morning I ran through the process of installing and running sand in a brand new macOS 26 VM and it did not go smoothly.
Setup:
brew install banksean/tap/sandcdinto it and rungit initto initialize itRun
sand newand get this error:Prerequisite check messages are noisy when they can and should be clear about the remedy and what to do next. In this case, the
"container-dns-domain-set"message is a distraction and should have been omitted. It should say only this (or better yet, perhaps offer to download and install it automatically):After installing apple/container, run
sand newagain and get this error:sandcould offer to set this to a reasonable default with a[Y/n]?confirmation, in addition to printing the CLI command.After setting the
dns.domainproperty, runsand newagain and get this error:This
failed to list imageserror message totally obscures the actual problem. In this case (fresh install of OS, apple/container etc), thecontainersystem service isn't running yet, which causes theimage lscommand to fail. The user needs to runcontainer system startin order to get past this error, so the error message should say exactly that (and optionally, offer to run it for the user).After discovering this issue (by running
container image lsfrom the terminal to see why it was failing) and fixing it by runningcontainer system start, I ran into my final blocker:Virtualization is not available on this hardwareis a macOS VM configuration problem with my test setup here. This should be tracked as a separate issue (e.g. "make sand smarter about detecting when it is running in a macOS (not linux) VM" or "configure test macOS vm to enable virtualization" )