defaultDir property

String defaultDir
getter/setter pair

Implementation

static String defaultDir = (() {
  final envCache = Platform.environment['PUB_CACHE'];
  if (envCache != null) {
    return envCache;
  } else if (Platform.isWindows) {
    // %LOCALAPPDATA% is used as the cache location over %APPDATA%, because
    // the latter is synchronised between devices when the user roams between
    // them, whereas the former is not.
    final localAppData = Platform.environment['LOCALAPPDATA'];
    if (localAppData == null) {
      dataError('''
Could not find the pub cache. No `LOCALAPPDATA` environment variable exists.
Consider setting the `PUB_CACHE` variable manually.
''');
    }
    return p.join(localAppData, 'Pub', 'Cache');
  } else {
    final home = Platform.environment['HOME'];
    if (home == null) {
      dataError('''
Could not find the pub cache. No `HOME` environment variable exists.
Consider setting the `PUB_CACHE` variable manually.
''');
    }
    return p.join(home, '.pub-cache');
  }
})();