I'm using cargo to build my programs is great when I have internet. But even after downloading all the requirements. I still need internet access to run install.
If I run install with internet. It works, but then if I lose internet access, and run install again. It has to redownload dependencies from crates.io
Have you tried using --locked --offline? It's likely redownloading dependencies because without --locked it will re-resolve the dependency tree and come up with different versions (see https://github.com/rust-lang/cargo/issues/7169). Without --offline it will attempt to at least update the index before building.