set go GO-6ren">
gpt4 book ai didi

go - package code.google.com/p/go.example/hello : exec: "hg": executable file not found in %PATH%. 如何获取远程golang包?

转载 作者:IT老高 更新时间:2023-10-28 13:10:02 25 4
gpt4 key购买 nike

我按照 Golang 教程 http://golang.org/doc/code.html#remote 所写的那样做

我的环境设置:

C:\sbox\go\example>set go
GOPATH=C:\sbox\go\example
GOROOT=C:\Go

example/ 文件夹只有 src/ 文件夹:

C:\sbox\go\example\
|
--src\

现在我按照描述调用 go get 并得到一个错误:

C:\sbox\go\example>go get code.google.com/p/go.example/hello
# cd .; hg clone -U https://code.google.com/p/go.example C:\sbox\go\example\src\code.google.com\p\go.example
package code.google.com/p/go.example/hello: exec: "hg": executable file not found in %PATH%

在调用 go get 之后,我的 example/ 文件夹变成了这样:

C:\sbox\go\example\
|
--src\
|
code.google.com\
|
--p\

仅此而已。没有更多的安装。

然后我将代码添加到我的目录结构中,它变成了这样:

C:\sbox\go\example\
|
--src\
|
---code.google.com\
| |
| --p\
|
---github.com\
|
--user\
|
--hello\
| |
| --hello.go
|
--newmath\
|
--sqrt.go

hello.go 是这样的:

package main

import (
"fmt"
"github.com/user/newmath"
//"code.google.com/p/go.example/newmath"
)

func main() {
fmt.Printf("Hello, world. Sqrt(2) = %v\n", newmath.Sqrt(2))
}

sqrt.go 是这样的:

// Package newmath is a trivial example package.
package newmath

// Sqrt returns an approximation to the square root of x.
func Sqrt(x float64) float64 {
z := 0.0
for i := 0; i < 1000; i++ {
z -= (z*z - x) / (2 * x)
}
return z
}

我只是应付/粘贴它们。都写在教程里。然后我执行 go install 并运行该项目。一切正常:

C:\sbox\go\example\src\github.com\user\hello>go install

C:\sbox\go\example\bin>hello
Hello, world. Sqrt(2) = 1.414213562373095

现在我再次运行 go get 并得到同样的错误:

C:\sbox\go\example>go get code.google.com/p/go.example/hello
# cd .; hg clone -U https://code.google.com/p/go.example C:\sbox\go\example\src\code.google.com\p\go.example
package code.google.com/p/go.example/hello: exec: "hg": executable file not found in %PATH%

好的,我将 bin/ 目录添加到 PATH 并再次运行 go get 但得到相同的错误:

C:\sbox\go\example>set PATH=%PATH%;C:\sbox\go\example\bin

C:\sbox\go\example>go get code.google.com/p/go.example/hello
# cd .; hg clone -U https://code.google.com/p/go.example C:\sbox\go\example\src\code.google.com\p\go.example
package code.google.com/p/go.example/hello: exec: "hg": executable file not found in %PATH%

我需要做什么才能获得教程中描述的结果 - 远程包已安装并且我可以使用它们?

最佳答案

您尝试安装的软件包位于 Mercurial (hg) 源代码控制系统下。您需要安装Mercurial以便能够克隆包。

关于go - package code.google.com/p/go.example/hello : exec: "hg": executable file not found in %PATH%. 如何获取远程golang包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com