Cake: In a large bowl, mix together the flour, sugar, salt and baking soda. Add the eggs one at a time, mixing until fully incorporated. Mix in the canola oil until just combined.
Fold in the carrots and the cinnamon, and mix until fully combined.
Lightly grease a baking pan, or line muffin tins with cupcake liners.
Pour the batter into the baking pan, or scoop the batter into the lined muffin tins, filling them 3/4 full.
For the cake: bake for 30-35 minutes. For the cupcakes: bake for 25-30 minutes, or until a toothpick inserted comes out clean.
Remove from the oven and allow to cool.
Frosting: In a medium bowl, cream together the cream cheese and the butter until smooth. Add in the icing sugar in 1/2 cup increments, mixing between each addition. Add the milk and vanilla, and mix until fully incorporated. Add more icing sugar if it is too wet, or more milk if it is too dry, depending on what consistency you want your frosting.
Frost the cake or cupcakes. Enjoy!
Notes
The frosting recipe makes a lot of frosting. If you spread it the way I did on the photos you will have extra. However, if you like cupcakes with a lot of frosting, the frosting recipe is perfect for that.