Làm cách nào để cài đặt các yêu cầu trong Go? "Không thể tìm thấy gói hàng"


81

Tôi mới sử dụng cờ vây và tôi đang cố gắng thiết lập một dự án cờ vây với tài liệu tối thiểu: https://github.com/alphagov/metadata-api

Tôi đã sao chép nó, nhưng khi thử go buildtôi nhận được các cảnh báo sau:

main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT)
    /Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH)
main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/alphagov/metadata-api/content_api (from $GOROOT)
    /Users/me/go/src/github.com/alphagov/metadata-api/content_api (from $GOPATH)

Tôi đoán điều này là do tôi chưa cài đặt Go tương đương với các yêu cầu?

Của tôi GOPATHđược thiết lập:

metadata-api$ echo $GOPATH
/Users/me/go

Và tệp thực thi Go ở trong

metadata-ape$ echo $PATH
....:/Users/me/go/bin

Tôi cần làm gì để giúp Go tìm thấy các gói này?


Cập nhật: Tôi đã thêm Đi đến đường dẫn của mình export PATH=$PATH:/Users/anna/govà bây giờ go buildkhông tạo ra bất kỳ lỗi nào ... nhưng dường như nó cũng không tạo ra bất kỳ điều gì.
Richard

Câu trả lời:


89

Bạn nên cài đặt gói trước:

thử

$ go get github.com/Sirupsen/logrus

và kiểm tra bạn $GOPATHdir

Dự án này sử dụng gomlàm trình quản lý gói,

Đảm bảo rằng bạn đã cài đặt gom

hoặc thử lệnh này

$ gom install 

Tôi nghĩ rằng cài đặt $GOPATHvà của bạn $PATHkhông chính xác, $GOPATHbiến môi trường chỉ định vị trí của không gian làm việc của bạn, đây là những cài đặt đường dẫn của tôi:

export GOROOT=$HOME/bin/go
export GOBIN=$GOROOT/bin
export GOPATH=$HOME/golang
export PATH=$PATH:$GOBIN

1
Cảm ơn. gom installdường như đang thực hiện thủ thuật, nhưng làm thế nào bạn biết dự án này được sử dụng gom?
Richard

14
Tôi cũng đã thử simly go getvà tôi nghĩ rằng nó có tất cả các phụ thuộc của tôi cùng một lúc.
John Bubriski

Biến môi trường $ GOPATH chỉ định vị trí của không gian làm việc của bạn? Điều đó có nghĩa là tôi phải xuất tất cả các biến này mỗi khi tạo một dự án không gian làm việc mới?
Ugur Yilmaz

21

Tôi đã gặp vấn đề tương tự và

export GO111MODULE=on 

đã giúp.


1
Đây là những gì tôi cũng cần. Đã đi tìm lý do - đây là bản tóm tắt: dev.to/maelvls/…
Tim Malone

Chỉ đã dành quá nhiều thời gian để cố gắng tìm ra lý do tại sao. Cảm ơn vì điều này!!!
cpk

Điều duy nhất làm việc cho tôi.
PrincebillyGK

2

Có thể khắc phục sự cố tương tự trong Go 1.13.7 bằng cách nhập:

 export GOPATH=~/go
 go get github.com/profile/repository 
 (e.g. github.com/Sirupsen/logrus)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.