2016-12-21 8 views
0

ローカル環境でハイパーリーガーを設定するにはChaincode Development Environmentの指示に従おうとしています。"chaintool/example02"をビルドできません

残念ながら、私は全く新しいゴランです。 "chaintool/example02"をビルドしようとするとエラーが発生しました。さらに進める方法はわかりません。問題を無視するか、まず何かを修正する必要がありますか?たとえば、いくつかのオプションなどでmakeを実行するにはどうすればよいですか?

hyper-00:chaincode hyper$ pwd 
/Users/hyper/Projects/blockchain/src/github.com/hyperledger/fabric/examples/chaincode/chaintool/example02/src/chaincode 

hyper-00:chaincode hyper$ go build ./ 
    chaincode_example02.go:24:2: cannot find package "hyperledger/cci/appinit" in any of: 
     /Users/hyper/Projects/blockchain/src/github.com/hyperledger/fabric/vendor/hyperledger/cci/appinit (vendor tree) 
     /usr/local/go/src/hyperledger/cci/appinit (from $GOROOT) 
     /Users/hyper/Projects/blockchain/src/hyperledger/cci/appinit (from $GOPATH) 
    chaincode_example02.go:25:2: cannot find package "hyperledger/cci/org/hyperledger/chaincode/example02" in any of: 
     /Users/hyper/Projects/blockchain/src/github.com/hyperledger/fabric/vendor/hyperledger/cci/org/hyperledger/chaincode/example02 (vendor tree) 
     /usr/local/go/src/hyperledger/cci/org/hyperledger/chaincode/example02 (from $GOROOT) 
     /Users/hyper/Projects/blockchain/src/hyperledger/cci/org/hyperledger/chaincode/example02 (from $GOPATH) 
    chaincode_example02.go:26:2: cannot find package "hyperledger/ccs" in any of: 
     /Users/hyper/Projects/blockchain/src/github.com/hyperledger/fabric/vendor/hyperledger/ccs (vendor tree) 
     /usr/local/go/src/hyperledger/ccs (from $GOROOT) 
     /Users/hyper/Projects/blockchain/src/hyperledger/ccs (from $GOPATH) 
hyper-00:chaincode hyper$ 

私の$ GOPATHが与える:

hyper-00:~ hyper$ echo $GOPATH 
/Users/hyper/Projects/blockchain 


私はレポを繰り返し

[2017年1月2日で編集]次のように

出力が見えます再びクローニング手順を行う。 私の間違いはGitHubから間違ったソースを引っ張ったと思います。おそらく "master"で、 "v0.6"ではありません。

私がやったとコンパイルが動作するようになりましたです何:

$ sudo apt install golang-go 

$ gedit .profile 

export PATH=$PATH:/usr/local/go/bin 
export GOPATH=$HOME/Projects/blockchain  

$ . ~/.profile 

$ mkdir -p $GOPATH/src/github.com/hyperledger/ 

$ cd $GOPATH/src/github.com/hyperledger 

$ git clone -b v0.6 http://gerrit.hyperledger.org/r/fabric 

$ cd ~/Projects/blockchain/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 

$ go build 
+0

あなたは '$ GOPATH'を確認しましたか? –

+0

私は自分の.profileに設定しました。私は最後に私のポストに追加しました。 – gvlax

+0

を 'example02'に入れると、コードは' $ GOPATH'にない '' github.com/hyperledger/fabric/core/chaincode/shim "'から 'shim'をインポートしようとします。このため、このエラーが発生しています。 –

答えて

2

github.com/hyperledger/fabricはそのvendor/フォルダ内のすべてのこれらの依存関係を含めるか、またはベンダーのフォルダと、自分のレポの例を入れているはずですので、これがどのように見える彼らのあなたの問題ではありません。

すべての不足しているパッケージについてgo get x y zを実行して修正するか、ベンダーツールを使用して修正することができます。

ベンダー向けには多くのオプションがありますが、来年までは「公式」オプションはありません。私はgovendorを好む。私は、この特定のレポでそれを試してみましたhaventはしかし、あなたが試すことができます:

go get -u github.com/kardianos/govendor 
cd /Users/hyper/Projects/blockchain/src/github.com/hyperledger/fabric/ 
govendor fetch -v +missing 
2

HyperLedgerチームは、ユーザーがチェーンコードインタフェースを経由して(APIを文書化することを可能にする方法で、チェーンカッターを使用する方法については非常に良いドキュメントを提供している、またはCCI)。これがなければ、チェーンコードの消費者はソースコードを検査して、REST呼び出しを構成する方法を理解する必要があります。いい案。

このチェーンコードを作成するには、github.com/hyperledger/cciとgithub.com/hyperledger/ccsをダウンロードして、$ GOPATH内のgithub.com/hyperledger/fabricの横に配置する必要があります。残念ながら、私はこれをダウンロードできるリポジトリは(githubまたはgerritのいずれにも)表示されません。

また、chaintoolをcciとccs(chaintool/example02 ...)で使用する方法の1つの例しか見ていませんでした。これらの抜け落ちしたhyperledgerパッケージのためにコンパイルされません。

ありCCI/CCSとチェーンカッターに関するドキュメントは、次の場所でのサポートです:

しかし、それは、このドキュメントは以下の場所にコピーし、「チェーンカッター」から改名されましたようです'openblockchain compiler'(またはOBCC)に変換し、「進行中の作業」とラベル付けします。

このように、chaintool/example02は、少なくともOBCCが正式に利用可能になるまで、チェーンコードを構築するための現在サポートされているアプローチではないと考えられます。

関連する問題