Go: cmd / go: buildmode = plugin يقوم دائمًا بإعادة تجميع جميع التبعيات

تم إنشاؤها على ٢٥ مارس ٢٠١٧  ·  1تعليق  ·  مصدر: golang/go

go version go1.8 linux/amd64

ما الذي فعلته؟

على سبيل المثال،

package main
var V int
go build -buildmode=plugin -v test/main.go

ماذا كنت تتوقع أن ترى؟

lion@Lion-Laptop [ test ] $ go build -buildmode=plugin -v test/main.go
command-line-arguments
lion@Lion-Laptop [ test ] $ 

ماذا رأيت بدلا من ذلك؟

lion@Lion-Laptop [ test ] $ go build -buildmode=plugin -v test/main.go
runtime/internal/sys
runtime/internal/atomic
runtime
runtime/cgo
command-line-arguments
lion@Lion-Laptop [ test ] $ 

مثل البناء بـ -a

NeedsFix help wanted

التعليق الأكثر فائدة

هذا لأن جميع الحزم تحتاج إلى إعادة بنائها بواسطة toolchain المكونة للارتباط الديناميكي ، وبشكل افتراضي لا يقوم go build بتخزين إصدارات الحزم الوسيطة مؤقتًا. أعتقد أن العمل على cmd / go سيغير ذلك ، وستختفي هذه المشكلة.

حتى ذلك الحين ، يمكنك استخدام -i عند إنشاء المكونات الإضافية لتخزين إنشاءات الحزم الوسيطة مؤقتًا ، لذلك لا يحدث هذا إلا في المرة الأولى:

$ go build -buildmode=plugin -i -v plugin1
runtime/internal/sys
runtime/internal/atomic
runtime
common
internal/cpu
errors
unicode/utf8
sync/atomic
unicode
internal/race
math
sync
syscall
strconv
reflect
runtime/cgo
plugin1
$ go build -buildmode=plugin -i -v plugin1
plugin1
$

>كل التعليقات

هذا لأن جميع الحزم تحتاج إلى إعادة بنائها بواسطة toolchain المكونة للارتباط الديناميكي ، وبشكل افتراضي لا يقوم go build بتخزين إصدارات الحزم الوسيطة مؤقتًا. أعتقد أن العمل على cmd / go سيغير ذلك ، وستختفي هذه المشكلة.

حتى ذلك الحين ، يمكنك استخدام -i عند إنشاء المكونات الإضافية لتخزين إنشاءات الحزم الوسيطة مؤقتًا ، لذلك لا يحدث هذا إلا في المرة الأولى:

$ go build -buildmode=plugin -i -v plugin1
runtime/internal/sys
runtime/internal/atomic
runtime
common
internal/cpu
errors
unicode/utf8
sync/atomic
unicode
internal/race
math
sync
syscall
strconv
reflect
runtime/cgo
plugin1
$ go build -buildmode=plugin -i -v plugin1
plugin1
$
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

myitcv picture myitcv  ·  3تعليقات

mingrammer picture mingrammer  ·  3تعليقات

longzhizhi picture longzhizhi  ·  3تعليقات

natefinch picture natefinch  ·  3تعليقات

OneOfOne picture OneOfOne  ·  3تعليقات