Fixing temp directory location creation problem on windows
diff --git a/repo/installer.go b/repo/installer.go
index 112d7bb..becafab 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -248,6 +248,16 @@
 	if err != nil {
 		return err
 	}
+	// defer func() {
+	// 	err = os.RemoveAll(tempDir)
+	// 	if err != nil {
+	// 		msg.Err(err.Error())
+	// 	}
+	// }()
+
+	vp := filepath.Join(tempDir, "vendor")
+	err = os.MkdirAll(vp, 0755)
+
 	msg.Info("Exporting resolved dependencies...")
 	done := make(chan struct{}, concurrentWorkers)
 	in := make(chan *cfg.Dependency, concurrentWorkers)
@@ -270,14 +280,10 @@
 					cdir := filepath.Join(cache.Location(), "src", key)
 					repo, err := dep.GetRepo(cdir)
 					if err != nil {
-						err2 := os.RemoveAll(tempDir)
-						if err2 != nil {
-							msg.Debug("Unable to delete temp vendor directory: %s", err2)
-						}
 						msg.Die(err.Error())
 					}
 					msg.Info("--> Exporting %s", dep.Name)
-					if err := repo.ExportDir(filepath.Join(tempDir, filepath.ToSlash(dep.Name))); err != nil {
+					if err := repo.ExportDir(filepath.Join(vp, filepath.ToSlash(dep.Name))); err != nil {
 						msg.Err("Export failed for %s: %s\n", dep.Name, err)
 						// Capture the error while making sure the concurrent
 						// operations don't step on each other.
@@ -300,6 +306,16 @@
 
 	for _, dep := range conf.Imports {
 		if !conf.HasIgnore(dep.Name) {
+			err = os.MkdirAll(filepath.Join(vp, filepath.ToSlash(dep.Name)), 0755)
+			if err != nil {
+				lock.Lock()
+				if returnErr == nil {
+					returnErr = err
+				} else {
+					returnErr = cli.NewMultiError(returnErr, err)
+				}
+				lock.Unlock()
+			}
 			wg.Add(1)
 			in <- dep
 		}
@@ -308,6 +324,16 @@
 	if i.ResolveTest {
 		for _, dep := range conf.DevImports {
 			if !conf.HasIgnore(dep.Name) {
+				err = os.MkdirAll(filepath.Join(vp, filepath.ToSlash(dep.Name)), 0755)
+				if err != nil {
+					lock.Lock()
+					if returnErr == nil {
+						returnErr = err
+					} else {
+						returnErr = cli.NewMultiError(returnErr, err)
+					}
+					lock.Unlock()
+				}
 				wg.Add(1)
 				in <- dep
 			}
@@ -322,11 +348,6 @@
 	}
 
 	if returnErr != nil {
-		err2 := os.RemoveAll(tempDir)
-		if err2 != nil {
-			msg.Debug("Unable to delete temp vendor directory: %s", err2)
-		}
-
 		return returnErr
 	}
 
@@ -336,7 +357,7 @@
 		return err
 	}
 
-	err = os.Rename(tempDir, i.VendorPath())
+	err = os.Rename(vp, i.VendorPath())
 	return err
 
 }