草庐IT

path2Esferas

全部标签

go - 在 $PATH 中查找二进制文件

我正在寻找一个函数来在$PATH中可用的所有文件夹中查找二进制文件。我知道我可以使用os.Getenv("PATH")但它返回:path:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/go/bin哪些需要处理。理想情况下函数如下:FindBinary("ntpq")它将返回路径+二进制名称,如果在路径中找不到则返回false。有人有现成的功能吗? 最佳答案 您可以使用LookPathos/exec包中的函数:path,err:=exec.Loo

Go get path 是 GOROOT,而不是 GOPATH 错误,即使在 Windows 中设置了 env

在Windows8中,每当我尝试使用goget和goinstall下载包时,我都会收到以下错误:cannotdownload,C:\Users\MYUSER\goisaGOROOT,notaGOPATH.Formoredetailssee:'gohelpgopath'我为计算机和当前用户手动设置了环境变量GOPATH、GOROOT和GOTOOLDIR,但无济于事用户去环境setGOARCH=amd64setGOBIN=setGOEXE=.exesetGOHOSTARCH=amd64setGOHOSTOS=windowssetGOOS=windowssetGOPATH=C:\Users\

Golang 构建 : get 'Syntax error: newline unexpected' when executing executable from specific path

我的应用打包如下:|-cmd/|-cmd/application/并且当从根/运行以下命令时:gobuildcmd/application/*.go它生成一个运行良好的可执行文件。但是当从/cmd/application中输入以下命令时:gobuildmy_app_custom_name我收到Syntaxerror:newlineunexpected错误,就好像它不再是bash可执行文件一样。 最佳答案 在使用标志-v和-x之后,在指示@Volker的帮助下,我发现我将包命名为“myapp”,而不是应有的“main”。现在它工作得很

docker - 无法安装 golint 包 : wrong import path

我有一个项目使用golint并将其安装在docker容器中。它几个月来一直工作正常(并且已经构建了多次),但是今天当我再次构建容器时,我收到以下错误:去获取-ugithub.com/golang/lint/golintpackagegithub.com/golang/lint/golint:codeindirectory/a-go-path/golang/lint/golintexpectsimport"golang.org/x/lint/golint"我可以通过键入gogetgithub.com/golang/lint/golint在我的计算机上本地复制问题。我已经删除了go路径(s

go - : first path segment in URL cannot contain colon

这是我的代码(部分):typeSitemapIndexstruct{//Locations[]Location`xml:"sitemap"`Locations[]string`xml:"sitemap>loc"`}~~~SNIP~~~funcmain(){varsSitemapIndexresp,_:=http.Get("https://www.washingtonpost.com/news-sitemaps/index.xml")bytes,_:=ioutil.ReadAll(resp.Body)xml.Unmarshal(bytes,&s)for_,Location:=ranges

bash - 在 PATH 中转到 bin,但 "go version"失败

如何使用bash中的标准安装说明来使用go?我做错了什么?我关注了installationinstructionsforgoonLinux.因此,我下载了gotar.gz,将其解压缩到/usr/local并将exportPATH=$PATH:/usr/local/go/bin添加到/etc/bash.bashrc并创建了一个source/etc/bash.bashrc。但是,goversion没有给出正确的结果。参见:user@machine:~$whichgo/usr/local/go/bin/gouser@machine:~$goversionuser@machine:~$/usr

go - html/模板 : pattern matches no files even with absolute path

我有一个这样的全局常量。constTemplateDirstring="/home/joe/go/src/proj/template/"然后,稍后在我的代码中调用它。template.ParseGlob(filepath.Join(TemplateDir,"*.tmpl"))我知道filepath.Join(TemplateDir,"*.tmpl")会生成/home/joe/go/src/proj/template/*.tmpl。这一切都编译得很好。但是,当我尝试从proj之外的目录运行我的可执行文件时,出现此错误。html/template:patternmatchesnofiles

docker - Golang docker 多阶段构建运行失败 : exec: "go": executable file not found in $PATH

使用Docker多阶段构建部署简单API时,会抛出以下错误:$dockerbuild-tapi:latest.[...]$dockerrun-p4880:4880--rm--name=apiapi:latest2019/01/2923:02:15exec:"go":executablefilenotfoundin$PATH因为我的应用程序没有从任何地方(或任何exec.Command)调用go,所以我运行了一个gomodvendor,所以我可以检查依赖源代码,发现如下:vendor/github.com/lib/pq/oid/gen.go12:"os/exec"64:cmd:=exec

environment-variables - 在 Docker 容器中永久更新 PATH 环境变量

我尝试添加到文件~/.profile和/etc/profile中的PATH如下。PATH=$PATH:/required/path但是,它不起作用。然后我尝试添加行显示,这也不起作用。exportPATH即使重新启动容器和主机后它也不起作用。 最佳答案 如果您想在Dockerfile中包含/new/path,请添加以下行:ENVPATH"$PATH:/new/path"在Dockerfile中应该可以工作。 关于environment-variables-在Docker容器中永久更新PA

environment-variables - 在 Docker 容器中永久更新 PATH 环境变量

我尝试添加到文件~/.profile和/etc/profile中的PATH如下。PATH=$PATH:/required/path但是,它不起作用。然后我尝试添加行显示,这也不起作用。exportPATH即使重新启动容器和主机后它也不起作用。 最佳答案 如果您想在Dockerfile中包含/new/path,请添加以下行:ENVPATH"$PATH:/new/path"在Dockerfile中应该可以工作。 关于environment-variables-在Docker容器中永久更新PA