Go install fails with error: no install location for directory xxx outside GOPATH

前端 未结 12 1708
醉话见心
醉话见心 2020-12-12 11:22
~/src/go-statsd-client> echo $GOPATH
/Users/me/gopath
~/src/go-statsd-client> echo $GOROOT
/usr/local/Cellar/go/1.1.1\\
~/src/go-statsd-client> go install
g         


        
12条回答
  •  青春惊慌失措
    2020-12-12 12:20

    When you provide no arguments to go install, it defaults to attempting to install the package in the current directory. The error message is telling you that it cannot do that, because the current directory isn't part of your $GOPATH.

    You can either:

    • Define $GOPATH to your $HOME (export GOPATH=$HOME).
    • Move your source to within the current $GOPATH (mv ~/src/go-statsd-client /User/me/gopath).

    After either, going into the go-statsd-client directory and typing go install will work, and so will typing go install go-statsd-client from anywhere in the filesystem. The built binaries will go into $GOPATH/bin.

    As an unrelated suggestion, you probably want to namespace your package with a domain name, to avoid name clashing (e.g. github.com/you/go-statsd-client, if that's where you hold your source code).

提交回复
热议问题