Mes modifications ne se terminent pas dans l'application go. Que se passe-t-il avec aller?
Je suis nouveau à partir.
J'ai cloné ce projet: [oauth2_proxy] [1] Je souhaite ajouter un autre fournisseur. J'ai donc créé le fichier fournisseur dans les fournisseurs. Ajout du nom du fournisseur à l'instruction de changement de fournisseur. Cependant, lorsque je construis le binaire résultant, le fournisseur revient constamment à google.
Il semble que mon fournisseur n'a pas été ajouté. Je soupçonne que go build pourrait extraire les fournisseurs de github et ignorer mes modifications locales. Serait-ce vrai? Comment construisez-vous cette chose?
Je construis avec go build
parce que le script ./dist.sh n'a pas fonctionné pour moi. J'arrive à produire un binaire. Mais il ne semble pas que mon fichier de code s'y soit retrouvé. Je sais que cela parce que quand je grep pour « google » ou « linkedin » ou l' un des noms de fournisseurs sur le binaire résultant il est dit: Binary file oauth2_proxy matches
. Mais pour mon propre fournisseur, il n'y a pas de correspondance.
Cela a probablement quelque chose à voir avec la façon dont je compile l'application. Comment je fais ça? aucune instruction sur la page github pour faire cela n'est fournie. Désolé pour mon ignorance. Je viens d'un fond C ++ qui est plus logique. Go semble ramasser les dépendances automatiquement !?
Suivre les suggestions de @Topo
[email protected]:~/dev/oauth2_proxy$ export GOPATH=`pwd`
[email protected]:~/dev/oauth2_proxy$ rm -rf src
[email protected]:~/dev/oauth2_proxy$ go get ./...
go install: no install location for directory /home/matthewh/dev/oauth2_proxy outside GOPATH
For more details see: 'go help gopath'
go install: no install location for directory /home/matthewh/dev/oauth2_proxy/api outside GOPATH
For more details see: 'go help gopath'
go install: no install location for directory /home/matthewh/dev/oauth2_proxy/cookie outside GOPATH
For more details see: 'go help gopath'
go install: no install location for directory /home/matthewh/dev/oauth2_proxy/providers outside GOPATH
For more details see: 'go help gopath'
src/cloud.google.com/go/internal/retry.go:21:2: cannot find package "github.com/googleapis/gax-go" in any of:
/usr/local/go/src/github.com/googleapis/gax-go (from $GOROOT)
/home/matthewh/dev/oauth2_proxy/src/github.com/googleapis/gax-go (from $GOPATH)
src/google.golang.org/api/internal/settings.go:22:2: cannot find package "google.golang.org/grpc" in any of:
/usr/local/go/src/google.golang.org/grpc (from $GOROOT)
/home/matthewh/dev/oauth2_proxy/src/google.golang.org/grpc (from $GOPATH)
src/google.golang.org/api/transport/dial.go:30:2: cannot find package "google.golang.org/grpc/credentials" in any of:
/usr/local/go/src/google.golang.org/grpc/credentials (from $GOROOT)
...
[1]: https://github.com/bitly/oauth2_proxy
ÉDITER:
Je viens de le faire go get -v github.com/bitly/oauth2_proxy
sur ma machine.
Détails détaillés: http://pasted.co/60e2b56d
Le binaire est produit sous $GOPATH/bin/oauth2_proxy
.
-rwxr-xr-x 1 jeeva staff 10M Jul 11 19:02 oauth2_proxy
Commençons par la base. Commencez par configurer votre espace de travail Go ( Comment écrire du code Go ), choisissez un répertoire pour GOPATH.
Par exemple: / Users / matt / dev
export GOPATH=/Users/matt/dev
Ensuite, faites go get
pour obtenir le fichier oauth2_proxy
. En général, go get est le clone git de ce référentiel.
go get github.com/bitly/oauth2_proxy
Il obtiendra le code source et s'exécutera go install
. Après une exécution réussie de cette commande. Vous verrez un fichier binaire au format $GOPATH/bin
.
Modifiez maintenant le code source selon vos besoins et exécutez go install pour créer le binaire.
go install github.com/bitly/oauth2_proxy
OR
cd $GOPATH/src/github.com/bitly/oauth2_proxy
go install
Si vous souhaitez manuellement au lieu de go get
. Ensuite, choisissez un répertoire pour GOPATH
et exportez-le (comme mentionné ci-dessus) puis
mkdir -p $GOPATH/src/github.com/bitly
cd $GOPATH/src/github.com/bitly
git clone https://github.com/bitly/oauth2_proxy.git
cd oauth2_proxy
go get ./...
go install
Le binaire sera maintenant dans $GOPATH/bin
.