Browse Source

Throw exception if HOME or APPDATA is not available to create the composer home dir

Jordi Boggiano 12 years ago
parent
commit
e8c362c273
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/Composer/Factory.php

+ 6 - 0
src/Composer/Factory.php

@@ -43,8 +43,14 @@ class Factory
         $cacheDir = getenv('COMPOSER_CACHE_DIR');
         if (!$home) {
             if (defined('PHP_WINDOWS_VERSION_MAJOR')) {
+                if (!getenv('APPDATA')) {
+                    throw new \RuntimeException('The APPDATA or COMPOSER_HOME environment variable must be set for composer to run correctly');
+                }
                 $home = strtr(getenv('APPDATA'), '\\', '/') . '/Composer';
             } else {
+                if (!getenv('HOME')) {
+                    throw new \RuntimeException('The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly');
+                }
                 $home = rtrim(getenv('HOME'), '/') . '/.composer';
             }
         }