Nếu bạn muốn kiểm tra các phụ thuộc dưới '$ GOPATH/src/...' chỉ cần xóa vĩnh viễn mọi tệp lướt trong thư mục gốc của dự án của bạn (glide.yaml, glide.lock, v.v ...). Sau đó, bạn có thể đặt lại các tệp đó nếu bạn cần sử dụng lại các phụ thuộc 'nhà cung cấp'.
Cập nhật 1
tôi đang tìm kiếm các giải pháp tương tự cho các dự án của tôi sau đó tôi phát hiện ra rằng tài liệu hướng dẫn trượt xác định một tham số hữu ích thêm vào glide.yaml cho hàng nhập khẩu. Theo the official documentation:
repo
: Nếu tên gói không phải là vị trí repo hoặc đây là một kho lưu trữ tin nó có thể đi đây. Gói cước sẽ được kiểm tra từ repo và đặt tên gói chỉ định. Điều này cho phép sử dụng dĩa.
Trong trường hợp đó bạn chỉ cần đẩy mã của bạn ở đâu đó (GitHub hoặc Gitlab cho Repos tin của bạn $ GOPATH/src/github.com/hyperledger/hang tôi đoán) sau đó chỉnh sửa glide.yaml của bạn:
- package: github.com/tendermint/tendermint <-- vendor name dependencies
repo: github.com/myrepo/tendermint <-- your remote fork
version: vx.x.x or your sha commit code
Bằng cách này, bạn có thể chuyển từ phiên bản chính thức sang ngã ba và thực hiện các bài kiểm tra của mình. Để quay trở lại phiên bản chính thức của bạn chỉ cần loại bỏ hoặc nhận xét repo và phiên bản thuộc tính:
- package: github.com/tendermint/tendermint <-- vendor name dependencies
# repo: github.com/myrepo/tendermint <-- your remote fork
# version: vx.x.x or your sha commit code
Tôi đang thử nghiệm dĩa của tôi theo cách này bây giờ và bạn không cần phải thay đổi con đường nhập khẩu của bạn vào mã của bạn, hy vọng điều này có ích.
Cập nhật 2
Một cách hữu ích là sử dụng glide mirror:
Gương cung cấp khả năng để thay thế một vị trí repo với một vị trí đó là một tấm gương của bản gốc. Điều này rất hữu ích khi bạn muốn có bộ nhớ cache cho hệ thống tích hợp liên tục (CI) hoặc nếu bạn muốn làm việc phụ thuộc vào một vị trí cục bộ.
Tôi đoán đây là một trong những giải pháp tốt nhất, ví dụ, vào loại dòng lệnh:
$ glide mirror set github.com/tendermint/tendermint file:///User/yourname/Gospace/src/github.com/tendermint/tendermint
này sẽ tạo ra một mirror.yaml trong GLIDE_HOME của bạn (nếu không tồn tại sau đó sẽ được đặt dưới sự của bạn $ USER/.glide thư mục). Bây giờ bạn có thể kiểm tra phiên bản địa phương của bạn (dưới GOPATH) mà không cần ngã ba dự án của bạn (như tôi đã viết ở trên). Khi bạn đã hoàn thành các bài kiểm tra của bạn chỉ cần loại bỏ nó:
$ glide mirror remove github.com/tendermint/tendermint
Tôi cần sử dụng kết hợp các phụ thuộc của nhà cung cấp và phiên bản địa phương. Tôi đoán một con đường hacky là để loại bỏ các thư mục được lựa chọn theo 'nhà cung cấp/...' nhưng tôi muốn xem nếu có một cách tốt hơn/chính thức để làm điều đó. –
điều này là chính xác. xóa khỏi 'vendor' các gói mà bạn phụ thuộc và hiện đang muốn làm việc. tránh các liên kết tượng trưng, dựa vào chiến lược nội bộ để giải quyết sự phụ thuộc. –