Preheat oven to 350°F. Mix flour, baking soda, baking powder, salt and cinnamon in a large mixing bowl; make a well in the center and add sugar, oil, eggs, and vanilla. Mix with a wooden spoon until smooth.
Stir in carrots, coconut, walnuts, and pineapple. Mix until everything is evenly combined.
Pour the mixture into a greased 9×13-inch baking dish, or two 9-inch cake pans for a double-layer carrot cake or one 9-inch cake pan for a single-layer cake as pictured. Flatten the surface with a silicone spatula.
Bake for 45 minutes or until a toothpick comes out clean when you stick it in the cake.
In the meantime, make the frosting by mixing cream cheese, butter, and powdered sugar in a medium mixing bowl until even.
When the cake is done, allow to cool. If using a cake pan, cover with a large plate and flip it to let the cake drop onto the plate. Transfer to a serving platter. Level off the uneven surface with a knife.
Frost the cake with the cream cheese frosting and decorate it if you like. Slice it up and serve.