Added new check on create. Addresses issue #3.
diff --git a/cmd/in_gopath.go b/cmd/in_gopath.go
new file mode 100644
index 0000000..f06e118
--- /dev/null
+++ b/cmd/in_gopath.go
@@ -0,0 +1,33 @@
+package cmd
+
+import (
+	"github.com/Masterminds/cookoo"
+
+	"path/filepath"
+	"fmt"
+	"os"
+)
+
+func InGopath(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo.Interrupt) {
+	// Get current dir
+	cwd, err := os.Getwd()
+	if err != nil {
+		return false, err
+	}
+	// Get GOPATH
+	gopath, err := filepath.Abs(os.Getenv("GOPATH"))
+	if err != nil {
+		return false, err
+	}
+
+	// Check that they are equal.
+	if cwd != gopath {
+		Error("For Glide to create a managed _vendor directory, you must set your GOPATH to %s.\n", cwd)
+		Info("You can use `glide in` to set GOPATH for you.\n")
+		Info("If you are using an external GOPATH, skip to `glide update`.\n")
+		return false, fmt.Errorf("GOPATH is %s, but current directory is %s", gopath, cwd)
+	}
+
+
+	return true, nil
+}
diff --git a/glide.go b/glide.go
index 322c619..a53a71e 100644
--- a/glide.go
+++ b/glide.go
@@ -172,6 +172,7 @@
 		Does(cmd.Out, "gopath")
 
 	reg.Route("install", "Install dependencies.").
+		Does(cmd.InGopath, "pathIsRight").
 		Includes("@ready").
 		Does(cmd.Mkdir, "dir").Using("dir").WithDefault("_vendor").
 		Does(cmd.LinkPackage, "alias").