{"record":{"id":"eab5542a5fb0d20e","repo":"ipfs/kubo","slug":"migration-binary-s-not-found-in-path","errorCode":null,"errorMessage":"migration binary %s not found in PATH","messagePattern":"migration binary (.+?) not found in PATH","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"repo/fsrepo/migrations/migrations.go","lineNumber":530,"sourceCode":"\t\t\t}\n\t\t\tdefer fetcher.Close()\n\n\t\t\tif err = RunMigration(ctx, fetcher, targetVer, ipfsDir, allowDowngrade); err != nil {\n\t\t\t\treturn fmt.Errorf(\"external downgrade phase failed: %w\", err)\n\t\t\t}\n\t\t}\n\t}\n\n\tlogger.Printf(\"Reverse hybrid migration completed successfully: v%d → v%d\", currentVer, targetVer)\n\treturn nil\n}\n\n// runMigrationsFromPath runs migrations using binaries found in PATH\nfunc runMigrationsFromPath(ctx context.Context, migrations []string, binPaths map[string]string, ipfsDir string, logger *log.Logger, revert bool) error {\n\tfor _, migName := range migrations {\n\t\tbinPath, exists := binPaths[migName]\n\t\tif !exists {\n\t\t\treturn fmt.Errorf(\"migration binary %s not found in PATH\", migName)\n\t\t}\n\n\t\tlogger.Printf(\"Running migration %s using binary from PATH: %s\", migName, binPath)\n\n\t\t// Run the migration binary directly\n\t\terr := runMigration(ctx, binPath, ipfsDir, revert, logger)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"migration %s failed: %w\", migName, err)\n\t\t}\n\t}\n\treturn nil\n}\n","sourceCodeStart":512,"sourceCodeEnd":543,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/repo/fsrepo/migrations/migrations.go#L512-L543","documentation":"Hybrid migration wanted to run a migration binary that was expected in PATH but was not found there (binPaths had no fetched copy either); the needed fs-repo-migrations binary is simply missing on this machine.","triggerScenarios":"Thrown at repo/fsrepo/migrations/migrations.go:530 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install fs-repo-migrations and ensure the binaries are in PATH (https://github.com/ipfs/fs-repo-migrations)","Or let kubo download the migrations by not disabling the fetch step","Verify PATH inside the environment where the daemon/CLI runs"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}