handle missing packages better. make dev optional

cc @sh1mmer