ฉันต้องการติดตั้งแพ็คเกจจาก github ไปยัง gopath ของฉันฉันได้ลองสิ่งนี้แล้ว:
go get github.com:capotej/groupcache-db-experiment.git
ฉันต้องการติดตั้งแพ็คเกจจาก github ไปยัง gopath ของฉันฉันได้ลองสิ่งนี้แล้ว:
go get github.com:capotej/groupcache-db-experiment.git
คำตอบ:
ดาวน์โหลดและติดตั้งแพ็คเกจและการอ้างอิง
การใช้งาน:
go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]
ดาวน์โหลดแพ็กเกจที่ตั้งชื่อตามเส้นทางการนำเข้าพร้อมกับการอ้างอิง จากนั้นจะติดตั้งแพ็กเกจที่ตั้งชื่อเช่น 'go install'
แฟล็ก -d สั่งให้หยุดหลังจากดาวน์โหลดแพ็คเกจ นั่นคือคำสั่งไม่ให้ติดตั้งแพ็คเกจ
แฟล็ก -f ใช้ได้เฉพาะเมื่อตั้งค่า -u บังคับให้ get -u ไม่ตรวจสอบว่าแต่ละแพ็กเกจถูกเช็กเอาต์จากที่เก็บคอนโทรลซอร์สโดยนัยโดยพา ธ อิมพอร์ต สิ่งนี้จะมีประโยชน์หากแหล่งที่มาเป็นส้อมในท้องถิ่นของต้นฉบับ
แฟล็ก -fix สั่งให้รันเครื่องมือแก้ไขบนแพ็กเกจที่ดาวน์โหลดก่อนที่จะแก้ไขการอ้างอิงหรือสร้างโค้ด
แฟล็ก -insecure อนุญาตให้ดึงข้อมูลจากที่เก็บและการแก้ไขโดเมนที่กำหนดเองโดยใช้รูปแบบที่ไม่ปลอดภัยเช่น HTTP ใช้ด้วยความระมัดระวัง
แฟล็ก -t สั่งให้ดาวน์โหลดแพ็กเกจที่จำเป็นในการสร้างการทดสอบสำหรับแพ็กเกจที่ระบุ
แฟล็ก -u สั่งให้ใช้เครือข่ายเพื่ออัพเดตแพ็กเกจที่มีชื่อและการอ้างอิง โดยค่าเริ่มต้น get ใช้เครือข่ายเพื่อตรวจสอบแพ็กเกจที่ขาดหายไป แต่ไม่ได้ใช้เพื่อค้นหาการอัปเดตแพ็กเกจที่มีอยู่
แฟล็ก -v เปิดใช้งาน verbose progress และ debug output
รับยังรับสร้างแฟล็กเพื่อควบคุมการติดตั้ง โปรดดู 'go help build'
เมื่อตรวจสอบแพ็คเกจใหม่ get จะสร้างไดเร็กทอรีเป้าหมาย GOPATH / src / หาก GOPATH มีหลายรายการให้ใช้รายการแรก สำหรับรายละเอียดเพิ่มเติมโปรดดู: 'go help gopath'
เมื่อเช็คเอาต์หรืออัปเดตแพ็กเกจให้มองหาสาขาหรือแท็กที่ตรงกับ Go เวอร์ชันที่ติดตั้งในเครื่อง กฎที่สำคัญที่สุดคือหากการติดตั้งภายในเครื่องกำลังเรียกใช้เวอร์ชัน "go1" ให้ค้นหาสาขาหรือแท็กชื่อ "go1" หากไม่มีเวอร์ชันดังกล่าวระบบจะดึงสาขาเริ่มต้นของแพ็กเกจ
เมื่อไปเช็คเอาต์หรืออัปเดตที่เก็บ Git มันยังอัปเดตโมดูลย่อย git ที่อ้างอิงโดยที่เก็บ
ไม่ต้องเช็คเอาต์หรืออัปเดตรหัสที่เก็บไว้ในไดเรกทอรีของผู้ขาย
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการระบุแพ็กเกจโปรดดู 'go help package'
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธี "go get" ค้นหาซอร์สโค้ดเพื่อดาวน์โหลดโปรดดูที่ "go help importpath"
ข้อความนี้อธิบายลักษณะการทำงานของ get เมื่อใช้ GOPATH เพื่อจัดการซอร์สโค้ดและการอ้างอิง หากคำสั่ง go ทำงานในโหมดรับรู้โมดูลรายละเอียดของแฟล็กและเอฟเฟกต์ของ get จะเปลี่ยนไปเช่นเดียวกับ "go help get" ดู 'go help module' และ 'go help module-get'
ดูเพิ่มเติม: ไปสร้างไปติดตั้งทำความสะอาด
ตัวอย่างเช่นการแสดงเอาต์พุต verbose
$ go get -v github.com/capotej/groupcache-db-experiment/...
github.com/capotej/groupcache-db-experiment (download)
github.com/golang/groupcache (download)
github.com/golang/protobuf (download)
github.com/capotej/groupcache-db-experiment/api
github.com/capotej/groupcache-db-experiment/client
github.com/capotej/groupcache-db-experiment/slowdb
github.com/golang/groupcache/consistenthash
github.com/golang/protobuf/proto
github.com/golang/groupcache/lru
github.com/capotej/groupcache-db-experiment/dbserver
github.com/capotej/groupcache-db-experiment/cli
github.com/golang/groupcache/singleflight
github.com/golang/groupcache/groupcachepb
github.com/golang/groupcache
github.com/capotej/groupcache-db-experiment/frontend
$
package github.com/coreos/go-iptables.git: invalid version control suffix in github.com/ path
) คือการลบ.git
คำต่อท้ายออกจาก URL ของ Github
-v
ทำอะไร?
-v
คำสั่งไม่ได้รับการอ้างอิงในรายการนั้น lol fml ... แน่นอนมันหมายถึงverbose tho
go get
อย่างไร?
อันดับแรกเราต้องมี GOPATH
$GOPATH
เป็นโฟลเดอร์ (หรือชุดของโฟลเดอร์) ระบุโดยตัวแปรสภาพแวดล้อมของตน เราต้องสังเกตว่านี่ไม่ใช่$GOROOT
ไดเร็กทอรีที่ติดตั้ง Go
export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin
เราใช้~/gocode
เส้นทางในคอมพิวเตอร์ของเราเพื่อจัดเก็บแหล่งที่มาของแอปพลิเคชันของเราและการอ้างอิง GOPATH
ไดเรกทอรียังจะเก็บไบนารีของแพคเกจของพวกเขา
จากนั้นเลือกไปที่ env
ระบบของคุณต้องมี$GOPATH
และ$GOROOT
ด้านล่างคือ Env ของฉัน:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/elpsstu/gocode"
GORACE=""
GOROOT="/home/pravin/go"
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
ตอนนี้คุณเรียกใช้แพ็คเกจ download go:
go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages]
ดาวน์โหลดและติดตั้งแพ็กเกจที่ตั้งชื่อตามเส้นทางการนำเข้าพร้อมกับการอ้างอิง สำหรับรายละเอียดเพิ่มเติมที่คุณสามารถดูที่นี่
go get
ดังนั้นจึงgithub.com:capotej/groupcache-db-experiment.git
ไม่ผิดกฎหมายเส้นทางกฎหมายคืออะไร?
.git
ในท้ายบรรทัด:go get github.com:capotej/groupcache-db-experiment