Preheat the oven to 350°F. Lightly grease two 9" round layer pans, or one 9" x 13" pan.
Beat together the oil, sugar, salt, eggs, spices, baking powder, and baking soda.
Weigh your flour; or measure it by gently spooning it into a cup, then sweeping off any excess.
Add the flour, stirring until well blended.
Add the carrots and nuts, and mix until just blended. Pour into the prepared pan(s).
Bake the cake(s) for 35 to 40 minutes, or until a cake tester inserted into the center comes out clean, or with a few moist crumbs clinging to it. Allow the cake(s) to cool completely before frosting. If you're using round layer pans, remove the layers from the pans after about 15 minutes, and place them on a rack to cool.
To Make Frosting
Beat the butter and cream cheese together until smooth. Add the salt and vanilla. Beat in the powdered sugar.
Add a teaspoon of milk or cream if the frosting is too thick
Frost the top of one layer, top with the second layer, and frost the top and sides of the cake.
Refrigerate the cake.
Bring it to room temperature. before serving