Simple Go Version Manager ปราศจากกลูเตน

ผู้จัดการเวอร์ชันที่มีอยู่สร้างจากแหล่งที่มามีการพึ่งพามากเกินไปมลพิษเส้นทางและ/หรือต้องการให้คุณใช้สภาพแวดล้อมเชลล์ที่เฉพาะเจาะจง g ตั้งเป้าหมายที่จะไม่สร้างความรำคาญและพกพามากที่สุด
g ได้รับแรงบันดาลใจจาก TJ/N - ซึ่งฉันได้มีส่วนร่วมในอดีต - และยืมรหัสบางส่วน
$GOPATH และ $GOROOT ถูกส่งออกซึ่ง ...go และไม่เฉพาะเจาะจงกับ gsource นในการกำหนดค่าเชลล์ของคุณcurl และ wget รองรับชั้นหนึ่งเหมือนกันcurl หรือ wget ตรวจสอบด้วย curl -V หรือ wget -V ตามลำดับไม่จำเป็นอย่างเคร่งครัด แต่ขอแนะนำอย่างยิ่งเพื่อลบการติดตั้ง GO ก่อนหน้านี้อย่างสมบูรณ์ - เพียงเพื่อป้องกันผลลัพธ์ที่แปลกใด ๆ
สำคัญ : ก่อนที่คุณจะดำเนินการต่อฉันขอแนะนำให้คุณอ่านสคริปต์การติดตั้ง; อย่าเชื่อใจใครสักคนที่บอกให้คุณเรียกใช้คำสั่งแบบสุ่ม
ที่กล่าวว่าคุณสามารถติดตั้ง g ด้วยคำสั่งเดียว:
curl -sSL https://git.io/g-install | sh -s ถ้าคุณใช้ wget แทน:
wget -qO- https://git.io/g-install | sh -s ที่จะดาวน์โหลดสคริปต์ g ใส่ไว้ใน $GOPATH/bin/ ให้สิทธิ์ในการดำเนินการกับ chmod และกำหนดค่าไฟล์เริ่มต้นของเชลล์เริ่มต้นของคุณการตั้งค่าตัวแปรสภาพแวดล้อม GOPATH & GOROOT และเพิ่ม $GOPATH/bin ลงใน PATH
จากนั้นคุณจะได้รับแจ้งให้ติดตั้ง GO เวอร์ชันล่าสุด คุณสามารถข้ามขั้นตอนนี้และติดตั้งเวอร์ชันที่คุณต้องการด้วย g ในภายหลัง
หมายเหตุ : คุณต้องรีสตาร์ทเซสชันเชลล์ปัจจุบันของคุณเพื่ออ่าน env vars ใหม่เหล่านี้เพื่อใช้ g หรือ go
ขณะนี้สคริปต์การติดตั้งรองรับเชลล์ต่อไปนี้:
นั่นไม่ได้หมายความว่าคุณไม่สามารถใช้ g กับเชลล์อื่น ๆ เพียงแค่ดำเนินการติดตั้งด้วยตนเอง
สคริปต์การติดตั้งจะเลือกเชลล์เริ่มต้นของคุณสำหรับการกำหนดค่า คุณอาจเห็นว่าเชลล์เริ่มต้นของคุณกำลังทำงานอยู่อย่างไร:
echo $SHELLหากคุณต้องการกำหนดค่า Shell Diff คุณอาจส่งผ่านเป็นอาร์กิวเมนต์:
curl -sSL https://git.io/g-install | sh -s -- fishคุณอาจกำหนดค่าเชลล์หลายตัว แต่มักจะไม่จำเป็น:
curl -sSL https://git.io/g-install | sh -s -- fish bash zsh
ใช้ตัวเลือก -y เพื่อข้ามพรอมต์และสมมติว่า "ใช่" สำหรับทุกสิ่ง:
curl -sSL https://git.io/g-install | sh -s -- -yโดยค่าเริ่มต้นจะใช้ตัวแปรสภาพแวดล้อม GO เหล่านี้:
GOROOT: $HOME/.go
GOPATH: $HOME/go
$GOPATH/bin ถูกเพิ่มเข้าไปใน PATH และมีการคัดลอก g
คุณอาจตั้งค่าตัวแปรเหล่านั้นก่อนที่จะเรียกใช้สคริปต์การติดตั้ง ตัวอย่างเช่นใน Bash และ ZSH:
export GOROOT= ~ /.local/share/golang
export GOPATH= ~ /MyProjects/go-projects
curl -sSL https://git.io/g-install | sh -sในปลา:
set -gx GOROOT ~ /.local/share/golang
set -gx GOPATH ~ /MyProjects/go-projects
curl -sSL https://git.io/g-install | sh -s$GOPATH & $GOROOT และเพิ่ม $GOPATH/bin ไปยัง PATH ของคุณ./bin/g และวางไว้ที่ใดก็ได้ใน PATH ของคุณ - ภายใน $GOPATH/bin/ เป็นตัวเลือกที่ดีchmod +x $GOPATH/bin/g g รวมคำสั่ง self-upgrade คุณสามารถเรียกใช้เพื่อรับ g เวอร์ชันล่าสุดของ G คำสั่งนี้เรียกใช้สคริปต์การติดตั้งอีกครั้ง
Usage: g [COMMAND] [options] [args]
Commands:
g Open interactive UI with downloaded versions
g install latest Download and set the latest go release
g install <version> Download and set go <version>
g download <version> Download go <version>
g set <version> Switch to go <version>
g run <version> Run a given version of go
g which <version> Output bin path for <version>
g remove <version ...> Remove the given version(s)
g prune Remove all versions except the current version
g list Output downloaded go versions
g list-all Output all available, remote go versions
g self-upgrade Upgrades g to the latest version
g help Display help information, same as g --help
Options:
-h, --help Display help information and exit
-v, --version Output current version of g and exit
-q, --quiet Suppress almost all output
-c, --no-color Force disabled color output
-y, --non-interactive Prevent prompts
-o, --os Override operating system
-a, --arch Override system architecture
-u, --unstable Include unstable versions in list
g เป็นสคริปต์เชลล์พกพาเดียวที่ทำหน้าที่เหมือนไบนารีที่มีอยู่ใน $PATH ของคุณ หากคุณตั้งค่า g ด้วยสคริปต์การติดตั้งการลบมันควรจะค่อนข้างตรงไปตรงมา
ก่อนอื่นรับข้อมูลเกี่ยวกับระบบของคุณ:
echo $SHELL
echo $GOROOT
echo $GOPATH
command -v g คุณจะสังเกตเห็นว่าไฟล์ g อยู่ใน $GOPATH/bin/ Directory ของคุณ หากคุณต้องการลบ g และเก็บ Binaries go ที่ติดตั้งไว้ในปัจจุบันและไฟล์ที่เกี่ยวข้องเพียงแค่ลบ g :
# If you're using bash, zsh, or other POSIX shell:
rm " $( command -v g ) "
# If you're using fish:
rm (command -v g) ตอนนี้ถ้าคุณต้องการลบทุกอย่างก่อนอื่น โปรดสำรอง โครงการของคุณภายใน $GOROOT ถ้ามี จากนั้นลบทุกอย่างภายใน $GOROOT และ $GOPATH :
rm -r $GOPATH $GOROOT จากนั้นเปิดไฟล์ config เชลล์ของคุณด้วยตัวแก้ไขข้อความที่คุณเลือกและดูสำหรับบรรทัดที่มี g-install เพื่อลบออก นี่คือตำแหน่งที่ใช้โดยสคริปต์การติดตั้ง:
# bash on MacOS
~ /.bash_profile
# bash on linux/BSD
~ /.bashrc
# zsh
~ /.zshrc
# fish shell
~ /.config/fish/config.fish
# csh
~ /.cshrc
# tcsh
~ /.tcshrc
# For ash and dash, check your $ENV var
echo $ENV ณ จุดนี้คุณจะลบ g และ go ทั้งหมด
g และ g-install Posix เป็นไปตามมาตรฐาน g-install g install <version> อาจ use หรือ set ดู #8 install เฉพาะสำหรับการติดตั้งและลบตัวเลือก --download g มีอยู่แล้วส่วนใหญ่ zsh กับ oh-my-zsh g-install เสนอให้ผู้ใช้ตั้งค่านามแฝงทางเลือกสำหรับ g self-upgrade โยนถ้าไม่ติดตั้ง g ในลักษณะทั่วไป complete ที่สร้างความสมบูรณ์สำหรับเชลล์ที่รองรับ g-install เชลล์เพื่อเรียกคำสั่งนี้เพื่อความสำเร็จ g )goenv ก่อนที่จะติดตั้ง GO เวอร์ชันใหม่gvmโปรดอ่าน Inturning.md
n ซึ่ง g ได้รับแรงบันดาลใจจากและขึ้นอยู่กับn-install ซึ่ง g ขึ้นอยู่กับ MIT ♥