juicedata/juicefs · error
OS %s is not supported
Error message
OS %s is not supported
What it means
doUmount performs OS-specific unmounting (fusermount/umount on Linux, diskutil on macOS, taskkill on Windows). The switch on runtime.GOOS has cases only for linux, darwin, and windows; any other GOOS falls into default and returns this error. It indicates a build/runtime platform JuiceFS does not support unmounting on.
Source
Thrown at cmd/umount.go:91
} else {
cmd = exec.Command("fusermount", "-u", mp)
}
} else {
if force {
cmd = exec.Command("umount", "-l", mp)
} else {
cmd = exec.Command("umount", mp)
}
}
case "windows":
if !force {
_ = os.Mkdir(filepath.Join(mp, ".UMOUNTIT"), 0777)
return nil
} else {
cmd = exec.Command("taskkill", "/IM", "juicefs.exe", "/F")
}
default:
return fmt.Errorf("OS %s is not supported", runtime.GOOS)
}
out, err := cmd.CombinedOutput()
if err != nil && len(out) != 0 {
err = errors.New(string(out))
}
return err
}
func umount(ctx *cli.Context) error {
setup(ctx, 1)
mp := ctx.Args().Get(0)
if ctx.Bool("flush") {
raw, err := readConfig(mp)
if err != nil {
if os.IsNotExist(err) {
return fmt.Errorf("not a JuiceFS mount point")
}
return errors.Wrap(err, "failed to read config")View on GitHub (pinned to c9a67b23e8)
Solutions
- Unmount manually with the platform tool: `umount <mp>` or `fusermount -u <mp>` on Linux-like systems.
- Run JuiceFS on a supported OS (linux, darwin, windows).
- If support is genuinely needed, add a case for the GOOS in cmd/umount.go's doUmount switch.
Defensive patterns
Strategy: fallback
Validate before calling
if runtime.GOOS != "linux" && runtime.GOOS != "darwin" && runtime.GOOS != "windows" {
// use platform umount directly instead of juicefs umount
} Prevention
- Deploy JuiceFS only on linux, darwin, or windows
- For unsupported platforms, script the native unmount command (umount/diskutil) directly
When it happens
Trigger: Running `juicefs umount` on a GOOS outside {linux, darwin, windows} — e.g. freebsd, openbsd, or android builds.
Common situations: Running a non-cgo or custom-built binary on BSD variants; cross-compiled binaries executed on unsupported platforms; CI containers on unusual platforms.
Understand the failure class
Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.
Related errors
- printsid command is only supported on Windows
- not a JuiceFS mount point
- Unsupported ByteMultiple " + sMultiple
- wrong type
- random, backward, skip are only valid under read
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/b2b41a02f90058bd.
Report an issue: GitHub.