| | Re: 8 years old or 8-year- old?
It depends. In a sentence like
My son is eight years old
you have a "normal" number plus plural noun construction.
but in a sentence like
I have an 8-year-old son
8-year-old functions as a single chunk, and is an adjective. You could replace it with eg
I have a young son.
Because it's an adjective it's not pluralised, and because it must be considered as a single chunk, it's hyphenised.