Tôi muốn cài đặt các gói từ github vào gopath của mình, tôi đã thử điều này:
go get github.com:capotej/groupcache-db-experiment.git
kho lưu trữ ở đây .
Tôi muốn cài đặt các gói từ github vào gopath của mình, tôi đã thử điều này:
go get github.com:capotej/groupcache-db-experiment.git
kho lưu trữ ở đây .
Câu trả lời:
Tải xuống và cài đặt các gói và phụ thuộc
Sử dụng:
go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]
Tải xuống các gói được đặt tên theo đường dẫn nhập, cùng với các gói phụ thuộc của chúng. Sau đó, nó sẽ cài đặt các gói được đặt tên, như 'go install'.
Cờ -d hướng dẫn dừng lại sau khi tải xuống các gói; nghĩa là, nó hướng dẫn không được cài đặt các gói.
Cờ -f, chỉ hợp lệ khi -u được đặt, buộc get -u không xác minh rằng mỗi gói đã được kiểm tra từ kho lưu trữ kiểm soát nguồn được ngụ ý bởi đường dẫn nhập của nó. Điều này có thể hữu ích nếu nguồn là một nhánh cục bộ của bản gốc.
Cờ -fix hướng dẫn chạy công cụ sửa lỗi trên các gói đã tải xuống trước khi giải quyết các phần phụ thuộc hoặc xây dựng mã.
Cờ -insecure cho phép tìm nạp từ các kho lưu trữ và giải quyết các miền tùy chỉnh bằng cách sử dụng các lược đồ không an toàn như HTTP. Sử dụng cẩn thận.
Cờ -t hướng dẫn cũng tải xuống các gói cần thiết để xây dựng các bài kiểm tra cho các gói được chỉ định.
Cờ -u hướng dẫn sử dụng mạng để cập nhật các gói được đặt tên và các gói phụ thuộc của chúng. Theo mặc định, get sử dụng mạng để kiểm tra các gói bị thiếu nhưng không sử dụng mạng để tìm kiếm các bản cập nhật cho các gói hiện có.
Cờ -v cho phép tiến trình chi tiết và đầu ra gỡ lỗi.
Get cũng chấp nhận cờ xây dựng để kiểm soát cài đặt. Xem 'go help build'.
Khi kiểm tra một gói mới, get tạo thư mục đích GOPATH / src /. Nếu GOPATH chứa nhiều mục nhập, get sử dụng mục nhập đầu tiên. Để biết thêm chi tiết, hãy xem: 'go help gopath'.
Khi kiểm tra hoặc cập nhật một gói, hãy tìm một nhánh hoặc thẻ phù hợp với phiên bản Go được cài đặt cục bộ. Quy tắc quan trọng nhất là nếu cài đặt cục bộ đang chạy phiên bản "go1", hãy tìm kiếm một nhánh hoặc thẻ có tên "go1". Nếu không có phiên bản nào như vậy tồn tại, nó sẽ truy xuất nhánh mặc định của gói.
Khi kiểm tra hoặc cập nhật kho lưu trữ Git, nó cũng cập nhật bất kỳ mô-đun con git nào được kho lưu trữ tham chiếu.
Không bao giờ kiểm tra hoặc cập nhật mã được lưu trữ trong thư mục của nhà cung cấp.
Để biết thêm về việc chỉ định gói, hãy xem 'gói trợ giúp'.
Để biết thêm về cách 'go get' tìm mã nguồn để tải xuống, hãy xem 'go help importpath'.
Văn bản này mô tả hành vi của get khi sử dụng GOPATH để quản lý mã nguồn và phần phụ thuộc. Thay vào đó, nếu lệnh go đang chạy ở chế độ nhận biết mô-đun, các chi tiết của cờ và hiệu ứng của get sẽ thay đổi, cũng như 'go help get'. Xem 'go help module' và 'go help module-get'.
Xem thêm: go build, go install, go clean.
Ví dụ: hiển thị đầu ra dài dòng,
$ go get -v github.com/capotej/groupcache-db-experiment/...
github.com/capotej/groupcache-db-experiment (download)
github.com/golang/groupcache (download)
github.com/golang/protobuf (download)
github.com/capotej/groupcache-db-experiment/api
github.com/capotej/groupcache-db-experiment/client
github.com/capotej/groupcache-db-experiment/slowdb
github.com/golang/groupcache/consistenthash
github.com/golang/protobuf/proto
github.com/golang/groupcache/lru
github.com/capotej/groupcache-db-experiment/dbserver
github.com/capotej/groupcache-db-experiment/cli
github.com/golang/groupcache/singleflight
github.com/golang/groupcache/groupcachepb
github.com/golang/groupcache
github.com/capotej/groupcache-db-experiment/frontend
$
package github.com/coreos/go-iptables.git: invalid version control suffix in github.com/ path
) là xóa .git
hậu tố khỏi URL Github.
-v
làm gì?
-v
lệnh không được nhắc đến trong danh sách đó lol FML ... chắc chắn nó có nghĩa là tiết tho
go get
?
Đầu tiên, chúng ta cần GOPATH
Là $GOPATH
một thư mục (hoặc tập hợp các thư mục) được chỉ định bởi biến môi trường của nó. Chúng ta phải lưu ý rằng đây không phải là $GOROOT
thư mục mà Go được cài đặt.
export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin
Chúng tôi đã sử dụng ~/gocode
đường dẫn trong máy tính của mình để lưu trữ nguồn ứng dụng của chúng tôi và các phụ thuộc của nó. Thư mục GOPATH
cũng sẽ lưu trữ các tệp nhị phân của các gói của chúng.
Sau đó kiểm tra Go env
Hệ thống của bạn phải có $GOPATH
và $GOROOT
dưới đây là Env của tôi:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/elpsstu/gocode"
GORACE=""
GOROOT="/home/pravin/go"
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
Bây giờ, bạn chạy gói tải xuống go:
go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages]
Tải xuống và cài đặt các gói được đặt tên theo đường dẫn nhập, cùng với các gói phụ thuộc của chúng. Để biết thêm chi tiết, bạn có thể xem tại đây .
go get
, vì vậy github.com:capotej/groupcache-db-experiment.git
không phải là bất hợp pháp, con đường hợp pháp là gì?
.git
ở cuối dòng:go get github.com:capotej/groupcache-db-experiment