Search code examples
goserverless-framework

Installing serverless with aws-go-dep not working


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: https://serverless.com/blog/framework-example-golang-lambda-support/

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 :-/


Solution

  • 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!