2017-08-19 11 views
1

goで構築されたOSSプロジェクトに貢献したいと思いますが、コンパイルには苦労しています。まるで何かが分からないように見えます。オープンソースプロジェクトを構築できない

私の問題は、goが自分のコンピュータにインストールされていてプロジェクト自体にインストールされていないことに関係していると思うので、プロジェクトの「Issues」セクションではなくStackOverflowにここに投稿します。

以下は私がやっていることです。

$ brew install go 
Updating Homebrew... 
==> Auto-updated Homebrew! 
Updated 1 tap (homebrew/core). 
==> Updated Formulae 
libebml 

==> Downloading https://homebrew.bintray.com/bottles/go-1.8.3.sierra.bottle.tar.gz 
Already downloaded: /Users/gmile/Library/Caches/Homebrew/go-1.8.3.sierra.bottle.tar.gz 
==> Pouring go-1.8.3.sierra.bottle.tar.gz 
==> Caveats 
A valid GOPATH is required to use the `go get` command. 
If $GOPATH is not specified, $HOME/go will be used by default: 
    https://golang.org/doc/code.html#GOPATH 

You may wish to add the GOROOT-based install location to your PATH: 
    export PATH=$PATH:/usr/local/opt/go/libexec/bin 
==> Summary 
    /usr/local/Cellar/go/1.8.3: 7,035 files, 282.0MB 
$ 
  • それから私はレポをクローン:

    $ hub clone lucapette/fakedata 
    
  • 私が最初にしなかった、(命令あたりの)make setupを走った私はhomebrewを使用してgoをインストールした

    1. 正常終了:

      $ make setup 
      go get -u github.com/alecthomas/gometalinter 
      gometalinter --install 
      make: gometalinter: No such file or directory 
      make: *** [setup] Error 1 
      $ 
      

      私はgometalinterが私$PATHにどこにもありませんので、つまり考え出しので、(私はfish-shellを使用している)、それを追加しました:make setupを実行している

      $ set fish_user_paths /Users/gmile/go/bin 
      
    2. は今、成功しているように見えます。これが出力されます。

      $ make setup 
      go get -u github.com/alecthomas/gometalinter 
      gometalinter --install 
      Installing: 
          aligncheck 
          deadcode 
          dupl 
          errcheck 
          gas 
          goconst 
          gocyclo 
          goimports 
          golint 
          gosimple 
          gotype 
          ineffassign 
          interfacer 
          lll 
          megacheck 
          misspell 
          safesql 
          staticcheck 
          structcheck 
          unconvert 
          unparam 
          unused 
          varcheck 
      $ 
      
    3. make buildを実行すると、を失敗:

      $ make build 
      go build 
      main.go:11:2: cannot find package"github.com/lucapette/fakedata/pkg/fakedata" in any of: 
           /usr/local/Cellar/go/1.8.3/libexec/src/github.com/lucapette/fakedata/pkg/fakedata (from $GOROOT) 
           /Users/gmile/go/src/github.com/lucapette/fakedata/pkg/fakedata (from $GOPATH) 
      main.go:12:2: cannot find package "github.com/spf13/pflag" in any of: 
           /usr/local/Cellar/go/1.8.3/libexec/src/github.com/spf13/pflag (from $GOROOT) 
           /Users/gmile/go/src/github.com/spf13/pflag (from $GOPATH) 
      make: *** [build] Error 1 
      $ 
      

    だから、どちらかContributingガイドラインが不完全である、または私は行くパッケージのインストールと管理について何かを明らかに不足しています。

  • 答えて

    5

    あなたのパスのソースのクローンを作成するなどのgolangパス上になければなりません:/home/gujarat/golang/:あなたはgolangパスへの私の道がある見ることができるよう /home/gujarat/golang/src/github.com/lucapette/fakedata

    。 端末にゴーランパスを印刷するには、$GOPATHと入力することもできます。

    そして、git cloneは上記の正確なパスになるはずです:src/github.com/lucapette/

    cd $GOPATH/src/github.com/ 
    mkdir lucaptte 
    cd lucapette 
    git clone https://github.com/lucapette/fakedata.git 
    

    このコマンドgo buildをトリガーmakeコマンドは$GOPATHとあなたの$GOROOTフォルダを探します実行されています。

    +0

    ありがとうございました!これは助けになりました。 – gmile

    0

    あなたのゴーファーソースはgopathにあるべきです - ここはUsers/gmile/srcです。代わりに作業したいpkgを取得するにはgo getを使用してください。うまくいくはずです。

    関連する問題