tôi làm như viết một hướng dẫn Golang http://golang.org/doc/code.html#remotegói code.google.com/p/go.example/hello: exec: "hg": không thể tìm thấy tệp thi hành trong% PATH%. Làm thế nào để có được gói golang từ xa?
thiết lập env của tôi:
C:\sbox\go\example>set go
GOPATH=C:\sbox\go\example
GOROOT=C:\Go
Thư mục example/
chỉ có src/
thư mục:
C:\sbox\go\example\
|
--src\
Bây giờ tôi gọi go get
như mô tả và nhận được một lỗi:
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%
Sau khi gọi go get
, tuy nhiên, thư mục example/
của tôi trở nên như thế này:
C:\sbox\go\example\
|
--src\
|
code.google.com\
|
--p\
Và đó là tất cả. Không có gì được cài đặt thêm.
Sau đó, tôi thêm một mã số để cấu trúc thư mục của tôi và nó trở nên như thế này:
C:\sbox\go\example\
|
--src\
|
---code.google.com\
| |
| --p\
|
---github.com\
|
--user\
|
--hello\
| |
| --hello.go
|
--newmath\
|
--sqrt.go
hello.go
là như thế này:
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
là như thế này:
// 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
}
Tôi chỉ đối phó/dán chúng. Tất cả như được viết trong hướng dẫn. Sau đó, tôi làm go install
và chạy dự án. Tất cả hoạt động tốt:
C:\sbox\go\example\src\github.com\user\hello>go install
C:\sbox\go\example\bin>hello
Hello, world. Sqrt(2) = 1.414213562373095
Bây giờ tôi lại chạy go get
và nhận được lỗi tương tự:
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%
Ok, tôi thêm bin/
thư mục vào PATH và chạy go get
một lần nữa nhưng gặp phải lỗi tương tự:
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%
Tôi cần làm gì để có được kết quả như được mô tả trong hướng dẫn - các gói từ xa được cài đặt và tôi có thể sử dụng chúng?