2014-12-16 15 views
21

Stavo usando Go 1.3.3. Dopo aver installato 1.4, ci sono molti errori simili a questo:Come ricostruire tutta la libreria dopo l'aggiornamento Go 1.4

db/base.go:4: import /home/asd/Dropbox/go/pkg/linux_amd64/projc1/libs/Bool.a: 
object is [linux amd64 go1.3.3 X:precisestack] 
    expected [linux amd64 go1.4 X:precisestack] 

Come posso risolvere questo? Ho provato go build su $GOPATH/src/projc1/libs/Bool/ ma non ha alcun effetto.

+2

Questo è relativo a: https://github.com/golang/go/issues/6534 – dyoo

risposta

24

Probabilmente stai cercando go build -a per forzare la ricostruzione di pacchetti esistenti.

+8

Non dovrebbe essere "vai install -a ..." invece? https://code.google.com/p/go/issues/detail?id=3036 –

+2

Primo tentativo: go build -a non ho aiutato quindi ho provato: $ go install -a certamente ha fatto il trucco. –

+1

'go install -a' funziona perfettamente, grazie. – arnuschky

11

Ah Vedo, rimuovere /home/asd/Dropbox/go/pkg/linux_amd64/projc1/ risolverebbe questo problema.

+8

Ho eliminato tutti i file di build intermedi eseguendo 'rm -rf $ GOPATH/pkg'. Ha funzionato per me, ma esegui 'rm -rf' con cura. –

+3

La rimozione dei pacchetti già compilati risolverà il messaggio di errore, ma i pacchetti non vengono ricompilati automaticamente, quindi ogni 'go build' ricompila ogni pacchetto. 'go install' dovrebbe compilare e salvare il pacchetto per un successivo riutilizzo. – siritinga

Problemi correlati