fix: only run cache update if we have packages to install (#400)