diff --git a/source/dub/packagesupplier.d b/source/dub/packagesupplier.d index 12e9b04..782fd65 100644 --- a/source/dub/packagesupplier.d +++ b/source/dub/packagesupplier.d @@ -168,7 +168,12 @@ case CacheOp.load: if (!path.existsFile()) return; - deserializeJson(m_metadataCache, jsonFromFile(path)); + try deserializeJson(m_metadataCache, jsonFromFile(path)); + catch (Exception e) { + import std.encoding; + logWarn("Error loading package cache file %s: %s", path.toNativeString(), e.msg); + logDebug("Full error: %s", e.toString().sanitize()); + } break; case CacheOp.clean: