Simple Go Version Manager ، خالية من الغلوتين.

يتم إنشاء مديري الإصدار الحاليين من المصدر ، ولديهم الكثير من التبعيات ، ويلوثون المسار ، و/أو يطلبون منك استخدام بيئة محددة. تهدف g إلى أن تكون غير مزعجة ومحمولة قدر الإمكان.
g مستوحى من TJ/N - الذي ساهمت به في الماضي - ويقترض بعض الكود.
$GOPATH و $GOROOT التي ...go وليس محددة ل g .source وظائف في تكوين shell الخاص بك.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 لاحقًا.
ملاحظة : يجب إعادة تشغيل جلسة Shell الحالية لك لقراءتها هذه env vars من أجل استخدام g أو go .
يدعم البرنامج النصي للتثبيت حاليًا القذائف التالية:
هذا لا يعني أنه لا يمكنك استخدام g مع قذائف أخرى ، ما عليك سوى المضي قدمًا في التثبيت اليدوي.
سيقوم برنامج Install Script بتحديد Shell الافتراضي للتكوين. قد ترى ما هي قذيفة الافتراضية عن طريق التشغيل:
echo $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 يقوم هذا الأمر ببساطة بتشغيل البرنامج النصي للتثبيت مرة أخرى.
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 عبارة عن برنامج نصي shell واحد محمول يعمل مثل ثنائي متوفر في $PATH الخاص بك. إذا قمت بإعداد g باستخدام البرنامج النصي للتثبيت ، فيجب أن تكون إزالته مستقيمة إلى الأمام.
بادئ ذي بدء ، احصل على بعض المعلومات حول نظامك:
echo $SHELL
echo $GOROOT
echo $GOPATH
command -v g ستلاحظ أن ملف g يعيش داخل دليل $GOPATH/bin/ . إذا كنت ترغب فقط في إزالة g والحفاظ على ثنائيات 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 ثم افتح ملف تكوين Shell الخاص بك مع محرر النصوص المفضل لديك وبحث عن خط يتضمن 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 stall المستخدم لإعداد اسم مستعار بديل لـ g self-upgrade إذا لم يتم تثبيت g بالطريقة المشتركة complete يولد الإكمال للقذائف المدعومة g-install قم بإعداد القذائف لاستدعاء هذا الأمر للإكمال g )goenv قبل تثبيت إصدار جديد من Go.gvm .يرجى قراءة المساهمة. ♥
n ، الذي يستلهم g واستنادا إليه.n-install ، والذي يعتمد أيضًا على g MIT ♥