linux - 无法与 Chef 一起设置 GOPATH

标签 linux go chef-infra

我正在尝试使用 go get 这意味着我必须设置 go 路径。我已经通过很多方法尝试过这个,所以请不要将其标记为重复,除非该解决方案有效。我已经尝试了几乎所有我能找到的关于 SO 的解决方案。

我的 Chef 代码

package 'golang-go'

directory '/work-disk/go' do
  owner consul_user
  group consul_user
  mode '0755'
  action :create
end

bash 'go' do
  user consul_user
  code <<-EOH
  export GOPATH=/work-disk/go
  export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
  EOH
  action :run
end

我之前有 export GOPATH=$HOME/go 但这似乎失败了所以我创建了一个目录来测试并明确指出目录但仍然没有成功

错误信息

cannot download, $GOPATH not set. For more details see: go help gopath

最佳答案

这不是环境变量的工作方式。在子流程中设置它们会影响该子流程。

关于linux - 无法与 Chef 一起设置 GOPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354710/

相关文章:

linux - 在 Perl 中打印目录中的所有文件 - 将不起作用

linux - 为什么此命令替换没有返回预期值?

docker - golang 程序在 docker 之外运行良好,但在 dockerized 时以 0 退出

go - 如何使用 Go 的时间包像 RFC3339 一样格式化时间,但没有时区(即本地时间)

azure - Chef WebPI 说明书在 Azure 中安装失败

MySQL 不接受远程连接

linux - 如何在 Linux 中以用户身份为 gfortran 设置环境?

linux - 如何删除一行中某个字符后的所有文本,并在每一行上执行相同的操作?

iis - 在 IIS 上运行 go web 应用程序

ruby - 列出 Chef 中所有声明的包