Preheat the oven to 350 degrees.
Using a hand mixer or stand mixer fitted with a paddle attachment, cream together the butter, brown sugar and white sugar in a large bowl until the mixture is light and fluffy. Add the eggs, one at a time and vanilla extract and mix well.
In a separate medium bowl, whisk together the flour, baking soda, salt, cinnamon, ginger, and nutmeg. Stir in the oats, carrots and walnuts into the dry ingredients. Add the flour mixture to the wet ingredients and fold well to mix your batter.
Scoop by tablespoonfuls or use a medium cookie scoop to portion the cookie dough onto a cookie sheet.
Bake at 350 for 10 minutes or until the edges of the cookies start to brown. Remove from the pan and let cool on the pan for about 5 minutes before removing them to a wire rack to cool.
To make the frosting
To make frosting, cream butter and cream cheese until smooth.
Whisk in powdered sugar and vanilla until well blended.
Frost or pipe frosting onto cooled cookies. Sprinkle with chopped walnuts if desired.