Troubleshooting
Common issues and solutions when using nxv.
Search Issues
No results found
Check spelling: Exact matches (
--exact) are case-sensitivebashnxv search Python --exact # Wrong nxv search python --exact # CorrectTry partial match: Use prefix search
bashnxv search pythSearch descriptions: The package might have a different name
bashnxv search "image editor" --descSync index: Your index might be outdated
bashnxv sync
Search is slow
The first search loads the bloom filter and warms the database cache. Subsequent searches are fast. If searches remain slow:
- Check disk I/O (SSD recommended)
- Check
NXV_DB_PATHisn't on a network drive
Sync Issues
Download fails
- Check network: Ensure GitHub is accessible
- Retry: Transient failures are commonbash
nxv sync - Force full download: Skip delta updatesbash
nxv sync --force
Signature verification failed
- Check clock: Signature validation requires accurate time
- Skip verification (not recommended for production):bash
NXV_SKIP_VERIFY=1 nxv sync
Incompatible index
Incompatible index: index requires schema version N but this build only supports up to MThis means your nxv application is too old for the published index. nxv sync stops without modifying either the existing index or the application.
- Local installs (install.sh, manual download): run
nxv updateto replace the binary after SHA-256 verification, then re-runnxv sync. - Managed installs (Nix, cargo, Homebrew): the matching upgrade command is printed by
nxv update; run it, then re-runnxv sync.
Disk full
The compressed index download is ~220MB and unpacks to ~2.1GB of disk space:
- Linux:
~/.local/share/nxv/ - macOS:
~/Library/Application Support/nxv/
Server Issues
Port already in use
# Use different port
nxv serve --port 3000
# Find what's using port 8080
lsof -i :8080CORS errors in browser
# Enable CORS for all origins
nxv serve --cors
# Or specific origins
nxv serve --cors-origins "http://localhost:3000"Connection refused
Check bind address: Default is localhost only
bashnxv serve --host 0.0.0.0 # Listen on all interfacesCheck firewall: Ensure port is open
Indexer Issues
The indexer ingests channel-release snapshots from releases.nixos.org — it does not need a nixpkgs checkout.
Failed releases
A release that fails to download or parse is retried automatically with exponential backoff; after repeated failures it is parked as failed in the ledger. To force a retry of parked releases:
nxv index --retry-failedIndexing stuck
Check logs:
bashnxv -v indexResume: Interrupted runs resume automatically — ingestion is tracked per release, so the next run picks up any remaining pending releases.
Narrow the range: Limit a run to a date window while debugging:
bashnxv index --since 2024-01-01 --until 2024-02-01
Disk full during indexing
Snapshots are streamed during parsing and never written to disk. Only --backfill-evals and --head-eval evaluate with Nix, which grows the Nix store:
# Manual cleanup
nix-collect-garbage -dGetting Help
- Check GitHub Issues: github.com/utensils/nxv/issues
- Open an issue: Include:
- nxv version (
nxv --version) - Operating system
- Command that failed
- Error message
- Debug logs if available
- nxv version (