Устанавливайте версии Go и управляйте ими на Mac или Linux.

В этой истории я поделюсь еще одним разработанным мной менеджером версий Go. Имя менеджера версий Go - gobrew, что навеяно nodebrew.

Честно говоря, на Github уже есть несколько менеджеров версий для Go. Такие как GVM и g oenv.

2 проблемы с goenv, с которыми я столкнулся при настройке: 1) многоступенчатый процесс настройки с такими командами, как повторное хеширование оболочки и 2) запрос на вытягивание при выпуске новой версии Go. Это затрудняет ожидание обновления диспетчера версий Go всякий раз, когда выходит новая версия Go.

Другая проблема как с GVM, так и с goenv заключается в том, что ни один из этих менеджеров не написан на Go. На самом деле это не плохо, так как это предпочтение участников и владельца репозитория.

Интуитивно понятно, что лучше иметь менеджер, тоже написанный на Go. Одна из самых сильных сторон Go заключается в том, что он создает двоичные файлы для нескольких дуг. В основном, если разработчик, использующий диспетчер версий Go, уже является разработчиком Go или собирается заниматься разработкой на Go. Сам диспетчер версий написан на другом языке, например C, или сценарий оболочки может быть ошеломляющим.

Обратите внимание, что выше мои мысли, а не винить библиотеки. Я разработал для себя простой менеджер версий, чтобы установить Go в два этапа.

В любом случае, давайте рассмотрим, как установить Go без root на Mac или Linux с помощью диспетчера версий Go.

Всего 2 простых шага.

1 шаг

$ curl -sLk https://git.io/gobrew | sh -

2-й шаг

export PATH="$HOME/.gobrew/current/bin:$HOME/.gobrew/bin:$PATH"

Перезагрузить config.

Все сделано!

Вот и все. Установка завершена, затем вы можете выполнить gobrew use 1.16 , и версия Go будет готова для использования. Нет никаких дополнительных команд для повторного хеширования оболочки или установки глобального значения и т. Д.

Особенности менеджера версий Go - Gobrew

В этом разделе я расскажу о некоторых особенностях.

  1. Вывод списка удаленных версий
    С помощью gobrew вы можете перечислить удаленные версии, доступные для загрузки. GVM уже имеет эту функцию, но goenv перечисляет только те версии, которые предоставляются менеджером версий, а не официальными выпусками Go. Команда проста, а пример вывода приведен ниже:
$ gobrew ls-remote

...
1.15.1
1.15.2
1.15.3
1.15.4
1.15.5
1.15.6
1.15.7
1.15.8
...
1.16
1.16beta1
1.16rc1

2. Загрузите и используйте версию Go - одной командой

gobrew use 1.16

3. Список установленных и текущая версия Go в системе

$ gobrew ls

1.15.8
1.16*

current: 1.16

Недавно я добавил в пакет цвета для лучшего интерфейса. Скриншоты выложу ниже:

Посмотрите репозиторий ниже:

Https://github.com/kevincobain2000/gobrew