Check that your Mac is ready
Confirm the Mac can run Oore and has the Flutter and platform tools your first build needs.
On this page you check the Mac that will run Oore and install the tools your app’s builds need. In Local Only, this one Mac runs the control plane, the web UI, and the runner, so it also does the building.
What you need
- A Mac with an
arm64(Apple silicon) orx86_64(Intel) processor. - A normal macOS account with administrator access. Oore asks for administrator access once, to install its services.
- Internet access over HTTPS to
oore.build,releases.oore.build, and GitHub Releases. - A Flutter app in a Git repository on this Mac.
1. Check the host
Run these commands in Terminal:
uname -s
uname -m
command -v curl tar ssh-keygen git
ls /usr/bin/stat /usr/bin/lockf /usr/bin/shasumThe first command prints Darwin. The second prints arm64 or x86_64. The
other two commands print a path for every tool. If git is missing, run
xcode-select --install to install the Xcode Command Line Tools.
The installer calls stat, lockf, and shasum by their /usr/bin paths,
so Homebrew GNU coreutils earlier in your PATH do not affect it.
2. Install Flutter where the runner can find it
The Oore runner runs as the macOS account that installs Oore. Its PATH is
/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin, so a
Flutter that only your shell’s PATH finds is not enough. Link flutter and
dart into one of those folders.
Install the Flutter version your app uses. If the repository has an .fvmrc
file, use the version in it. Replace 3.47.7 with your version:
git clone --branch 3.47.7 --depth 1 https://github.com/flutter/flutter.git ~/flutter-3.47.7
ln -sf ~/flutter-3.47.7/bin/flutter /opt/homebrew/bin/flutter
ln -sf ~/flutter-3.47.7/bin/dart /opt/homebrew/bin/dartOn an Intel Mac, use /usr/local/bin instead of /opt/homebrew/bin.
Before each build, the runner compares the installed Flutter with the version
the build asks for: the one in .fvmrc, then the pipeline’s Flutter version,
then stable. If a release such as 3.47.7 differs from the installed one,
the build fails before its first step. A channel such as stable is not
checked.
3. Install the platform tools
Install the tools for the platform you ship first. You can add the other one later.
- Android. Install Android Studio
in
/Applicationsand let it install the default Android SDK in~/Library/Android/sdk. Then accept the SDK licenses withflutter doctor --android-licenses. - iOS. Install Xcode from the App Store, open it once to finish its setup,
and run
sudo xcodebuild -license accept.
Then download the Flutter engine files for those platforms:
flutter precache --android --iosCheck the result
flutter --version
flutter doctorflutter --version prints the version you installed. flutter doctor shows
a check mark for Android toolchain, Xcode, or both, depending on what
you installed. After you install Oore, oore doctor --platform android or
oore doctor --platform ios runs the same checks the runner needs.
Troubleshooting
flutter --version prints a different version
An older flutter comes earlier on the PATH. Run which -a flutter to find
it, then remove it or fix the link in /opt/homebrew/bin.
ln fails because /opt/homebrew/bin does not exist
That folder exists only when Homebrew is installed. Link into
/usr/local/bin instead. If that folder is missing too, create it with
sudo mkdir -p /usr/local/bin.
The app needs two Flutter versions
A Mac has one Flutter for host builds. To build apps pinned to different versions on one Mac, use VM isolation, which picks a VM image by Flutter version.
You want builds to run on a different Mac
Finish this path on one Mac first. Then add a Direct macOS runner on the other Mac, or read Which setup do I need?.