瀏覽代碼

Merge remote-tracking branch 'curry684/issue-5130'

Jordi Boggiano 9 年之前
父節點
當前提交
9f3b1fd062
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      src/Composer/Installer/PluginInstaller.php

+ 8 - 1
src/Composer/Installer/PluginInstaller.php

@@ -59,7 +59,14 @@ class PluginInstaller extends LibraryInstaller
         }
 
         parent::install($repo, $package);
-        $this->composer->getPluginManager()->registerPackage($package, true);
+        try {
+            $this->composer->getPluginManager()->registerPackage($package, true);
+        } catch(\Exception $e) {
+            // Rollback installation
+            $this->io->writeError('Plugin installation failed, rolling back');
+            parent::uninstall($repo, $package);
+            throw $e;
+        }
     }
 
     /**