mgo をインストールしようとしています。これはgolangで書かれたmongo-driverです。
標準コマンド:
go get launchpad.net/mgo
しかし、いくつかの証明書の問題のために失敗しました。
そのため、手動でmgoのソースをローカルE:\mgo
にダウンロードしますが、インストール方法がわかりません。
ファイルツリー:
├─.bzr
│ ├─branch
│ │ └─lock
│ ├─branch-lock
│ ├─checkout
│ │ └─lock
│ └─repository
│ ├─indices
│ ├─lock
│ ├─obsolete_packs
│ ├─packs
│ └─upload
├─bson
└─testdb
私は試した:
cd mgo
go install
報告する:
auth.go:34:2: import "launchpad.net/mgo/bson": cannot find package
しかし、最初にbsonをインストールしようとすると:
cd bson
go install
別のエラーを報告します:
go install: no install location for _/E_/mgo/bson
それで、それをインストールする正しいコマンドは何ですか?
最後に、mgoプロジェクトを正常にインストールしました。初心者には役立つと思うので、ここで答えます。
まず、GOPATHが必要です
環境変数GOPATH
を定義します。これはプロジェクトのルートディレクトリであり、サブディレクトリsrc
が必要です。
私にとっては、E:\WORKSPACE_GO\mgo
に定義してから、サブディレクトリsrc
を作成します
プロジェクトをsrcにコピー
次に、mgo
プロジェクトを%GOPATH%/mgo
にコピーしますが、ディレクトリ構造に注意する必要があります。ソースで定義されているパッケージとまったく同じでなければなりません。
mgo
の場合、パッケージはlaunchpad.net/mgo
であるため、構造は次のようになります。
E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo
インストールを開始
最後に、go install
それら:
cd E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo\bson
go install
cd ..
go install
エラー入力がなければ、正常にインストールされているはずです。
セット[〜#〜] gopath [〜#〜] 。 $GOPATH
の下にコードを移動します。それから
cd $GOPATH/src/github.com/user/package
go get .
説明:
go build . # produces binary in current dir
go install . # produces binary in $GOPATH/bin
go get . # same as 'install' but resolves import deps
インポートパス(GOPATH/src
に渡したパス)を保持したまま、go install
ディレクトリに置くにする必要があります。
フォールバックGOPATHはgo install directoryです。したがって、mgoリポジトリをgo/src/pkg/launchpad.net/mgo
に複製できます。
または、プロジェクトディレクトリ/環境を設定する場合プロジェクト用 mgoに依存し、GOPATH
環境変数をその[〜 #〜] folder [〜#〜]、mgoリポジトリをFOLDER/src/launchpad.net/mgo/
にクローンできます。
その後、プロジェクトでmgoパッケージを期待どおりに使用できます。
import "launchpad.net/mgo"
このすべての軟膏のフライは、GOPATHがpath-JavaのクラスパスまたはUnixのPATHに似ているということです。単一のディレクトリの場所ではなく、一連のディレクトリの場所です。たとえば、私は定期的に次の形式のステートメントを使用します。
GOPATH=dira:dirb:dirc go install mypackage