Đây là thông báo lỗi:
% go get
can't load package: package .: no buildable Go source files in /Users/7yan00
% echo $GOPATH
/Users/7yan00/Golang
Bạn sẽ khắc phục lỗi đó như thế nào?
Câu trả lời:
Đảm bảo rằng bạn đang sử dụng lệnh đó trong thư mục nguồn dự án Go (như /Users/7yan00/Golang/src/myProject
).
Một thay thế ( tương tự như lỗi này) là sử dụng -d
tùy chọn (xem go get
lệnh )
go get -d
Các
-d
chỉ thị cờ có được dừng sau khi tải về gói; nghĩa là, nó hướng dẫn không được cài đặt các gói.
Xem liệu điều đó có giúp ích trong trường hợp của bạn không.
Nhưng nhìn chung, như được mô tả trong chủ đề này :
go get
là cho (các) gói, không phải cho kho.vì vậy nếu bạn muốn một gói cụ thể, giả sử
go.text/encoding
, sau đó sử dụng
go get code.google.com/p/go.text/encoding
nếu bạn muốn tất cả các gói trong kho lưu trữ đó, hãy sử dụng
...
để biểu thị rằng:
go get code.google.com/p/go.text/...
go get
bất kỳ gói từ xa nào. Tôi luôn luôn nhận được no buildable Go source files in
.
Bạn nên kiểm tra $GOPATH
danh bạ. Nếu có một thư mục trống của tên gói, go get
không tải xuống gói từ kho lưu trữ.
Ví dụ: Nếu tôi muốn lấy github.com/googollee/go-socket.io
gói từ kho lưu trữ github của nó và đã có một thư mục trống github.com/googollee/go-socket.io
trong thư mục $GOPATH
, go get
không tải xuống gói và sau đó phàn nàn rằng không có tệp nguồn Go có thể xây dựng trong thư mục. Trước hết, hãy xóa bất kỳ thư mục trống nào.
Một lý do có thể khác cho thông báo:
không thể tải gói: ....: không có tệp nguồn Go có thể xây dựng
Là khi các tệp nguồn được biên dịch có:
// +build ignore
Trong trường hợp đó, các tệp bị bỏ qua và không thể xây dựng theo yêu cầu. Hành vi này được ghi lại tại https://golang.org/pkg/go/build/
// +build myfeature
thẻ. Cách giải quyết là thêm một tệp trong gói có tên dummy.go không chứa gì ngoài khai báo gói (tức là package myfeature
).
// +build !windows
// +build go1.9
lỗi gây ra lỗi này khi tôi đang cố gắng xây dựng với go1.8
Nếu bạn muốn tất cả các gói trong kho lưu trữ đó, hãy sử dụng ...
để biểu thị điều đó, như:
go get code.google.com/p/go.text/...
Tôi đã có mã lỗi chính xác này và sau khi kiểm tra kho lưu trữ của mình, tôi đã phát hiện ra rằng không có tệp go nào mà thực sự chỉ là nhiều thư mục hơn. Vì vậy, đó là một con cá trích đỏ hơn là một lỗi đối với tôi.
Tôi khuyên bạn nên làm
đi env
và đảm bảo rằng mọi thứ đều như vậy, hãy kiểm tra các biến môi trường trong hệ điều hành của bạn và kiểm tra để đảm bảo rằng trình bao của bạn (bash hoặc w / e) không làm ảnh hưởng đến nó thông qua một cái gì đó như tệp .bash_profile hoặc .bashrc. chúc may mắn.