使用aws-go-dep无法安装无服务器

时间:2019-02-26 21:38:13

标签: go serverless-framework

我刚开始使用Golang和Serverless。我基本上已经在MacOS上完成了以下步骤:

  1. 酿造golang
  2. 酿造安装部
  3. npm install -g无服务器
  4. mkdir〜/ Projects / testproject
  5. export GOPATH="$GOPATH:~/Projects/testproject"添加到了~/.profile
  6. 在testprojects文件夹中无服务器创建-t aws-go-dep -p myservice
  7. 运行make并得到这个奇怪的错误:
unable to create lock pkg/dep/sm.lock: Lockfiles must be given as absolute path names
make: *** [build] Error 1

不确定我在做什么错。另外,我还关注了博客文章中的示例设置:https://serverless.com/blog/framework-example-golang-lambda-support/

根据go env,我的路径是:GOPATH=":/Users/ddibiase-macbook/go:/Users/ddibiase-macbook/Projects/centive/api"

在线上没有多少有用的文档可以帮助您了解:-/

3 个答案:

答案 0 :(得分:0)

This documentation可以帮助您设置Go特定的开发环境。

简而言之,您需要设置两个变量-GOPATHGOROOT

这是您的.profile的样子……

# 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

答案 1 :(得分:0)

要解决此问题,我最终放弃了创建自定义工作区的工作,只是将我的GOPATH指向一个一致的文件夹。 GOROOT指向/ usr / local / opt / go / libexec(似乎是Brew安装Go的位置)。

小rant:Go的设置经验很糟糕。我得到的事实是,它本来就是要有意见的,但是它就像工作区的放置和设置路径一样简单...安装过程应注意这一点,并使开发人员更清楚地安装构建工具。嘘!

答案 2 :(得分:0)

您可以在 $GOPATH/src/github.com/* 中创建符号链接并将其指向您现有的项目目录。

创建符号链接:

~ >> ln -s $HOME/code/example-project $GOPATH/src/github.com/example-project

验证是否有效

~/go/src/github.com >> ls -l
total 0
drwxr-xr-x  3 trex  staff  96 Feb  9 10:20 google
lrwxr-xr-x  1 trex  staff  30 Feb  9 15:58 example-project -> /Users/trex/code/example-project

现在您可以在example-project开展业务,例如

~ code/example-project >> make