2019-02-26 21:38 阅读 67


I'm just getting starting with Golang and Serverless. I've basically gone through these steps on MacOS:

  1. brew install golang
  2. brew install dep
  3. npm install -g serverless
  4. mkdir ~/Projects/testproject
  5. Added export GOPATH="$GOPATH:~/Projects/testproject" to ~/.profile
  6. serverless create -t aws-go-dep -p myservice within the testprojects folder
  7. Run make and get this weird error:
unable to create lock pkg/dep/sm.lock: Lockfiles must be given as absolute path names
make: *** [build] Error 1

Not sure what I'm doing wrong. Also I followed the blog article for getting setup with the example:

According to go env my path is: GOPATH=":/Users/ddibiase-macbook/go:/Users/ddibiase-macbook/Projects/centive/api"

There isn't much helpful documentation online to get through this :-/

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    doutui6241 doutui6241 2019-02-28 15:42

    To resolve the issue, I ended up giving up on creating a custom workspace and just making my GOPATH point to one consistent folder. GOROOT was pointed to /usr/local/opt/go/libexec (seems to be where Brew installs Go).

    Small rant: Go's setup experience is terrible. I get the fact that it's meant to have opinions, but something as simple as workspace placement and setting up paths...this should be taken care of by the installation process and make clearer to the developer installing the build tools. Booo!

    点赞 评论 复制链接分享
  • dtx63505 dtx63505 2019-02-26 21:53

    This documentation can help you to set up Go specific development environment.

    In short, you need to set two variables - GOPATH & GOROOT.

    Here is what your .profile should look like ...

    # this is mac os specific
    export GOPATH=$HOME/Projects
    # set goroot
    export GOROOT=/usr/local/opt/go/libexec
    # set path
    export PATH=$PATH:$GOPATH/bin
    export PATH=$PATH:$GOROOT/bin
    点赞 评论 复制链接分享