--- a/src/cmd/goinstall/main.go
+++ b/src/cmd/goinstall/main.go
@@ -121,6 +121,10 @@ func main() {
 	}
 	readPackageList()
 
+	if os.Getuid() != 0 && os.Getenv("GOPATH") == "" {
+		fmt.Fprintf(os.Stderr, "%s: set $GOPATH to the directory you want packages installed to if you get permission denied error\n", argv0)
+	}
+
 	// special case - "unsafe" is already installed
 	visit["unsafe"] = done
 
