diff --git a/IPython/frontend/html/notebook/fabfile.py b/IPython/frontend/html/notebook/fabfile.py
index 64a2ea7..f156bf8 100644
--- a/IPython/frontend/html/notebook/fabfile.py
+++ b/IPython/frontend/html/notebook/fabfile.py
@@ -9,15 +9,19 @@ components_dir = os.path.join(static_dir,'components')
 
 def test_component(name):
     if not os.path.exists(os.path.join(components_dir,name)):
-        abort('cannot continue without component {}.'.format(name))
+        components()
 
+def components():
+    """install components with bower"""
+    with lcd(static_dir):
+        local('bower install')
 
 def css(minify=True):
     """generate the css from less files"""
     test_component('bootstrap')
     test_component('less.js')
-    if minify not in ['True','False',True,False]:
-        abort('need to get Boolean')
+    if minify not in ['True', 'False', True, False]:
+        abort('minify must be Boolean')
     minify = (minify in ['True',True])
 
     min_flag= '-x' if minify is True else ''