упаковка 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) системы управления исходным кодом. Вам нужно установить ртутный чтобы иметь возможность клонировать пакет.
