Goに要件をインストールするにはどうすればよいですか?「パッケージが見つかりません」


82

私はGoを初めて使用し、最小限のドキュメントでGoプロジェクトをセットアップしようとしています:https//github.com/alphagov/metadata-api

クローンを作成しましたが、試してみるgo buildと次の警告が表示されます。

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)

これは、Goと同等の要件をインストールしていないためだと思いますか?

私のGOPATH設定:

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

そして、Go実行可能ファイルは

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

Goがこれらのパッケージを見つけるのを助けるために何をする必要がありますか?


アップデート:私は私の道を行くを追加export PATH=$PATH:/Users/anna/goし、現在go buildすべてのエラーを生成しません...しかし、また何を生成するように見えるん。
リチャード

回答:


93

最初にパッケージをインストールする必要があります。

試してみてください

$ go get github.com/Sirupsen/logrus

$GOPATHdirを確認してください

このプロジェクトgomはパッケージマネージャーとして使用し、

インストールしたことを確認してください gom

またはこのコマンドを試してください

$ gom install 

あなた$GOPATH$PATH設定が正しくないと思います。$GOPATH環境変数はワークスペースの場所を指定します。これらは私のパス設定です。

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

1
ありがとう。gom installトリックをしているようですが、このプロジェクトが使用されていることをどうやって知ったのgomですか?
リチャード

14
私もgo get同じように試しましたが、すべての依存関係が同時に得られたと思います。
JohnBubriski

$ GOPATH環境変数は、ワークスペースの場所を指定しますか?これは、新しいワークスペースプロジェクトを作成するたびに、これらの変数をすべてエクスポートする必要があることを意味しますか?
UgurYilmaz20年

27

私は同様の問題を抱えていました

export GO111MODULE=on 

助けた。


2
これも私が必要としていたものです。:ここでの荒廃だ-なぜを探して行ってきましたdev.to/maelvls/...
ティム・マローン

理由を理解するのに時間がかかりすぎました。これありがとう!!!
CPK

2

次のように入力することで、Go1.13.7で同様の問題を修正できました。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.