упаковка code.google.com/p/go.example/hello: exec: "hg": исполняемый файл не найден в %PATH%. Как получить удаленные пакеты golang?
я делаю, как написано в учебнике Golang http://golang.org/doc/code.html#remote
Мои настройки env:
C:sboxgoexample>set go
GOPATH=C:sboxgoexample
GOROOT=C:Go
на :
C:sboxgoexample
|
--src
теперь я звоню go get
как описано и получаю ошибку:
C:sboxgoexample>go get code.google.com/p/go.example/hello
# cd .; hg clone -U https://code.google.com/p/go.example C:sboxgoexamplesrccode.google.compgo.example
package code.google.com/p/go.example/hello: exec: "hg": executable file not found in %PATH%
после вызова go get
, хотя моя example/
папка будет такой:
C:sboxgoexample
|
--src
|
code.google.com
|
--p
и это все. Больше ничего не установлено.
Затем Я добавьте код в мою структуру каталогов, и она станет такой:
C:sboxgoexample
|
--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) = %vn", 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:sboxgoexamplesrcgithub.comuserhello>go install
C:sboxgoexamplebin>hello
Hello, world. Sqrt(2) = 1.414213562373095
теперь я снова запустить go get
и получите ту же ошибку:
C:sboxgoexample>go get code.google.com/p/go.example/hello
# cd .; hg clone -U https://code.google.com/p/go.example C:sboxgoexamplesrccode.google.compgo.example
package code.google.com/p/go.example/hello: exec: "hg": executable file not found in %PATH%
хорошо, я добавляю bin/
каталог к пути и запустить go get
снова, но получить та же ошибка:
C:sboxgoexample>set PATH=%PATH%;C:sboxgoexamplebin
C:sboxgoexample>go get code.google.com/p/go.example/hello
# cd .; hg clone -U https://code.google.com/p/go.example C:sboxgoexamplesrccode.google.compgo.example
package code.google.com/p/go.example/hello: exec: "hg": executable file not found in %PATH%
что мне нужно сделать, чтобы получить результат, как описано в учебнике-установлены удаленные пакеты, и я могу их использовать?
1 ответов
пакет, который вы пытаетесь установить, находится под Mercurial (hg
) системы управления исходным кодом. Вам нужно установить ртутный чтобы иметь возможность клонировать пакет.