21

Mac OS X に Go 1.4 をインストールしました。以前は Go 1.0 を使用していました。GOROOT と PATH を次のように設定します。

Dineshs-MacBook-Air:go-cassandra Dany$ which go
/usr/local/go/bin/go
Dineshs-MacBook-Air:go-cassandra Dany$ export GOROOT=/usr/local/go/bin/go
Dineshs-MacBook-Air:go-cassandra Dany$ export PATH=$PATH:$GOROOT/bin 

Go は「/usr/local/go/bin/go」にインストールされます。そして、GOPATH をプロジェクトの src ディレクトリとして設定しました。ディレクトリ内で go コードを実行できます。しかし、gocql をインストールしようとすると、エラーが発生します。

Dineshs-MacBook-Air:go-cassandra Dany$ sudo go get github.com/gocql/gocql
package github.com/gocql/gocql: cannot download, $GOPATH not set. For more details see: go help gopath

誰かがこれについて私を助けることができますか? ありがとうございました

編集1: @VonC他のオプションも試しました。GOROOT を go がインストールされているディレクトリに変更しました。しかし、それは役に立ちませんでした。そして、GOPATHを変更しました。

Dineshs-MacBook-Air:go-cassandra Dany$ export GOROOT=/usr/local/go
Dineshs-MacBook-Air:go-cassandra Dany$ export PATH=$PATH:$GOROOT/bin
Dineshs-MacBook-Air:go-cassandra Dany$ export GOPATH=/Users/Dany/Documents/FALL-2013-COURSES/Imp_Data_structures/workspace/go-cassandra
Dineshs-MacBook-Air:go-cassandra Dany$ sudo go get github.com/gocql/gocql
Password:
package github.com/gocql/gocql: cannot download, $GOPATH not set. For more details see: go help gopath
Dineshs-MacBook-Air:go-cassandra Dany$ echo $GOPATH
/Users/Dany/Documents/FALL-2013-COURSES/Imp_Data_structures/workspace/go-cassandra
Dineshs-MacBook-Air:go-cassandra Dany$ ls
bin pkg src
Dineshs-MacBook-Air:go-cassandra Dany$
4

4 に答える 4

55

ノート:

GOROOTgo実行可能ファイル自体ではなく、フォルダー (go がインストールされている場所) を参照する必要があります

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin 

Daveがコメントで言及しているように、ケースに設定する必要はまったくありませんGOROOTYou don't need to set
記事を参照してください。GOROOT

GOPATHsrcpkgおよびが含まれるフォルダーを参照する必要がありますbinsrc(フォルダーを直接参照しないでください): 「 Go コードの書き方 - ワークスペース」を
参照してください。

についてGOPATH

  • ~/.bashrc(を使用して)に設定してみてくださいexport
  • 現在のシェルがbashであることを確認してください(のような別のものではありませんfish
  • の出力を確認してくださいgo env

( ) にsudo go get使用される環境変数は現在のユーザーと同じではないため、 を実行しないでください。sudoroot

go get github.com/gocql/gocql

(または、を実行する必要がありますがsudo -E bash -c 'go get github.com/gocql/gocql'、ここでは必要ないと思いrootます)

sudo の警告を参照してください。

これらの場所に追加された変数は、環境をリセットして安全なパスを設定するデフォルト ポリシーがあるため、sudoコマンドでそれらを呼び出したときに反映されません (この動作は で定義されています) 。sudo/etc/sudoers

于 2015-02-26T11:51:11.963 に答える