With all due respect, 166 packages to compile for a 5 line hello-word is so Nodejsy. It is a smell, a red flag.
We should learn more from Go and Erlang.
You can use the `cargo graph` [0] command to get a graphviz view of the dependency graph. The `Cargo.lock` file which Cargo generates should also contain all the information you want in machine-readable form.
If you try to compile hello-world in C, you would need a gigantic libc.so, with a lot of stuff you do not need.
These 166 packages you need to compile Rocket, not your hello-world. Rocket itself is much more complex then your hello-world, like libc.so is much more complex than hello-world coded in C, I see nothing wrong with it. Rocket and libc.so were created for solving a wide class of problems and hello-world is just one problem from that class.