Как установить Go и настроить среду локального программирования на macOS

Вступление

Go - это язык программирования, который родился из разочарования в Google. Разработчикам постоянно приходилось выбирать язык, который выполнялся эффективно, но компилировался много времени, или язык, который было легко программировать, но работал неэффективно в производстве. Go был спроектирован таким образом, чтобы все три были доступны одновременно: быстрая компиляция, простота программирования и эффективное выполнение на производстве.

Хотя Go является универсальным языком программирования, который можно использовать для многих различных программных проектов, он особенно хорошо подходит для сетевых программ / программ распределенных систем и заслужил репутацию «языка облака». Он ориентирован на то, чтобы помочь современному программисту сделать это. больше с сильным набором инструментов, удаляющих дебаты по форматированию, делая формат частью спецификации языка, а также облегчая развертывание, компилируя в один двоичный файл. Go легко изучить, с очень небольшим набором ключевых слов, что делает его отличным выбором как для начинающих, так и для опытных разработчиков.

Из этого туториала Вы узнаете, как установить Go на локальный компьютер MacOS и настроить рабочую область программирования с помощью командной строки.

Предпосылки

Вам понадобится компьютер MacOS с административным доступом, подключенный к Интернету.

[[step-1 -—- open-terminal]] == Шаг 1 - Открытие терминала

Мы завершим большую часть нашей установки и настройки в командной строке, что является неграфическим способом взаимодействия с вашим компьютером. То есть вместо того, чтобы нажимать на кнопки, вы будете вводить текст и получать отзывы с вашего компьютера через текст. Командная строка, также известная как оболочка, может помочь вам изменить и автоматизировать многие задачи, которые вы выполняете на компьютере каждый день, и является важным инструментом для разработчиков программного обеспечения.

MacOS Terminal - это приложение, которое вы можете использовать для доступа к интерфейсу командной строки. Как и любое другое приложение, вы можете найти его, зайдя в Finder, перейдя в папку «Приложения», а затем в папку «Утилиты». Отсюда дважды щелкните Терминал, как и любое другое приложение, чтобы открыть его. Кроме того, вы можете использовать Spotlight, удерживая клавишиCMD иSPACE, чтобы найти Терминал, набрав его в появившемся поле.

macOS Terminal

Есть много других команд терминала для изучения, которые могут позволить вам делать более мощные вещи. Статья «https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal[An Введение в терминал Linux]» поможет вам лучше ориентироваться в терминале Linux, который аналогичен в терминал MacOS.

Теперь, когда вы открыли Терминал, вы можете загрузить и установитьXcode, пакет инструментов разработчика, который вам понадобится для установки Go.

[[step-2 -—- install-xcode]] == Шаг 2 - Установка Xcode

Xcode - этоintegrated development environment (IDE), состоящий из инструментов разработки программного обеспечения для macOS. Вы можете проверить, установлен ли Xcode, набрав в окне терминала следующее:

xcode-select -p

Следующий вывод означает, что Xcode установлен:

Output/Library/Developer/CommandLineTools

Если вы получили сообщение об ошибке, установите в своем браузереXcode from the App Store и примите параметры по умолчанию.

Как только Xcode установлен, вернитесь в окно терминала. Затем вам нужно установить отдельное приложение Xcode Tools для командной строки, что можно сделать, набрав:

xcode-select --install

На данный момент, Xcode и его приложение инструментов командной строки полностью установлены, и мы готовы установить менеджер пакетов Homebrew.

[[step-3 -—- install-and-setting-up-homebrew]] == Шаг 3 - Установка и настройка Homebrew

Хотя терминал MacOS обладает множеством функциональных возможностей терминалов Linux и других систем Unix, он не поставляется с менеджером пакетов, который учитывает лучшие практики. Apackage manager - это набор программных инструментов, которые работают для автоматизации процессов установки, которые включают первоначальную установку программного обеспечения, обновление и настройку программного обеспечения, а также удаление программного обеспечения по мере необходимости. Они хранят установки в одном месте и могут поддерживать все программные пакеты в системе в форматах, которые обычно используются. Homebrew предоставляет macOS бесплатную систему управления пакетами программного обеспечения с открытым исходным кодом, которая упрощает установку программного обеспечения на macOS.

Чтобы установить Homebrew, введите его в окне терминала:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew сделан с Ruby, поэтому он будет изменять путь Ruby вашего компьютера. Командаcurl извлекает сценарий из указанного URL-адреса. Этот сценарий объяснит, что он будет делать, а затем приостановит процесс, чтобы запросить подтверждение. Это дает вам множество отзывов о том, что скрипт будет делать с вашей системой, и дает вам возможность проверить процесс.

Если вам необходимо ввести пароль, обратите внимание, что нажатия клавиш не будут отображаться в окне терминала, но будут записаны. Просто нажмите клавишуreturn после ввода пароля. В противном случае нажмите буквуy для «да» всякий раз, когда вам будет предложено подтвердить установку.

Давайте рассмотрим флаги, связанные с командойcurl:

  • Флаг-f или--fail указывает окну терминала не выдавать HTML-документ при ошибках сервера.

  • Флаг-s или--silent отключаетcurl так, чтобы он не отображал индикатор выполнения, и в сочетании с флагом-S или--show-error он гарантирует, что-S или--show-error (t5) s показывает сообщение об ошибке в случае сбоя.

  • Флаг-L или--location сообщитcurl повторить запрос в новое место, если сервер сообщает, что запрошенная страница перемещена в другое место.

По завершении процесса установки мы поместим каталог Homebrew в начало переменной средыPATH. Это гарантирует, что установки Homebrew будут вызываться из инструментов, которые macOS может выбирать автоматически, которые могут противоречить среде разработки, которую мы создаем.

Вы должны создать или открыть файл~/.bash_profile с помощью текстового редактора командной строкиnano, используя командуnano:

nano ~/.bash_profile

Когда файл откроется в окне терминала, напишите следующее:

export PATH=/usr/local/bin:$PATH

Чтобы сохранить изменения, удерживайте клавишуCTRL и буквуo, а при появлении запроса нажмите клавишуRETURN. Теперь вы можете выйти из nano, удерживая клавишуCTRL и буквуx.

Активируйте эти изменения, выполнив в терминале следующее:

source ~/.bash_profile

Как только вы это сделаете, изменения, внесенные вами в переменную средыPATH, вступят в силу.

Вы можете убедиться, что Homebrew был успешно установлен, набрав:

brew doctor

Если в это время обновления не требуются, вывод терминала будет выглядеть так:

OutputYour system is ready to brew.

В противном случае вы можете получить предупреждение о необходимости запустить другую команду, напримерbrew update, чтобы убедиться, что ваша установка Homebrew обновлена.

Когда Homebrew будет готов, вы можете установить Go.

[[step-4 -—- install-go]] == Шаг 4 - Установка Go

Вы можете использовать Homebrew для поиска всех доступных пакетов с помощью командыbrew search. Для целей данного руководства вы будете искать пакеты или модули, относящиеся к Go:

brew search golang

[.note] #Note: В этом руководстве не используетсяbrew search go, так как он возвращает слишком много результатов. Посколькуgo - такое короткое слово и может соответствовать многим пакетам, стало обычным использованиеgolang в качестве условия поиска. Это обычная практика при поиске в Интернете статей, связанных с Go. ТерминGolang родился из домена для Go, то естьgolang.org.
#

Терминал выведет список того, что вы можете установить:

Outputgolang  golang-migrate

Перейти будет среди предметов в списке. Идите вперед и установите его:

brew install golang

Окно терминала даст вам обратную связь относительно процесса установки Go. Это может занять несколько минут до завершения установки.

Чтобы проверить установленную версию Go, введите следующую команду:

go version

Это выведет конкретную версию Go, которая установлена ​​в данный момент, которая по умолчанию будет самой последней, стабильной версией Go из доступных.

В будущем, чтобы обновить Go, вы можете запустить следующие команды, чтобы сначала обновить Homebrew, а затем обновить Go. Вам не нужно делать это сейчас, поскольку вы только что установили последнюю версию:

brew update
brew upgrade golang

brew update обновит формулы для самого Homebrew, гарантируя, что у вас есть последняя информация для пакетов, которые вы хотите установить. brew upgrade golang обновит пакетgolang до последней версии пакета.

Хорошей практикой является обеспечение актуальности вашей версии Go.

Установив Go на ваш компьютер, вы готовы создать рабочее пространство для своих проектов Go.

[[step-5 -—- created-your-go-workspace]] == Шаг 5. Создание вашей рабочей области Go

Теперь, когда у вас установлены Xcode, Homebrew и Go, вы можете приступить к созданию своего рабочего пространства для программирования.

Рабочая область Go будет содержать две директории в корне:

  • src: каталог, содержащий исходные файлы Go. Исходный файл - это файл, который вы пишете на языке программирования Go. Исходные файлы используются компилятором Go для создания исполняемого двоичного файла.

  • bin: каталог, содержащий исполняемые файлы, созданные и установленные инструментами Go. Исполняемые файлы - это двоичные файлы, которые запускаются в вашей системе и выполняют задачи. Обычно это программы, скомпилированные вашим исходным кодом или другим загруженным исходным кодом Go.

Подкаталогsrc может содержать несколько репозиториев управления версиями (например,Git,Mercurial иBazaar). Вы увидите такие каталоги, какgithub.com илиgolang.org, когда ваша программа импортирует сторонние библиотеки. Если вы используете репозиторий кода, напримерgithub.com, вы также поместите свои проекты и исходные файлы в этот каталог. Это позволяет канонически импортировать код в ваш проект. ИмпортCanonical - это импорт, который ссылается на полностью определенный пакет, напримерgithub.com/digitalocean/godo.

Вот как может выглядеть типичное рабочее пространство:

.
├── bin
│   ├── buffalo                                      # command executable
│   ├── dlv                                          # command executable
│   └── packr                                        # command executable
└── src
    └── github.com
        └── digitalocean
            └── godo
                ├── .git                            # Git reposistory metadata
                ├── account.go                      # package source
                ├── account_test.go                 # test source
                ├── ...
                ├── timestamp.go
                ├── timestamp_test.go
                └── util
                    ├── droplet.go
                    └── droplet_test.go

Каталог по умолчанию для рабочего пространства Go начиная с версии 1.8 - это домашний каталог вашего пользователя с подкаталогомgo или$HOME/go. Если вы используете версию Go до 1.8, рекомендуется по-прежнему использовать расположение$HOME/go для вашей рабочей области.

Выполните следующую команду, чтобы создать структуру каталогов для вашего рабочего пространства Go:

mkdir -p $HOME/go/{bin,src}

Параметр-p указываетmkdir создать всеparents в каталоге, даже если они в настоящее время не существуют. Использование{bin,src} создает набор аргументов дляmkdir и указывает ему создать как каталогbin, так и каталогsrc.

Это обеспечит наличие следующей структуры каталогов:

└── $HOME
    └── go
        ├── bin
        └── src

До Go 1.8 требовалось установить локальную переменную среды с именем$GOPATH. Хотя это больше явно не требуется, это все еще считается хорошей практикой, поскольку многие сторонние инструменты по-прежнему зависят от этой переменной.

Вы можете установить свой$GOPATH, добавив его к вашему~/.bash_profile.

Сначала откройте~/.bash_profile с помощьюnano или вашего предпочтительного текстового редактора:

nano ~/.bash_profile

Установите ваш$GOPATH, добавив в файл следующее:

~/.bash_profile

export GOPATH=$HOME/go

Когда Go компилирует и устанавливает инструменты, он помещает их в каталог$GOPATH/bin. Для удобства обычно добавляется подкаталог/bin рабочей области вPATH в~/.bash_profile:

~/.bash_profile

export PATH=$PATH:$GOPATH/bin

Теперь в вашем~/.bash_profile должны быть следующие записи:

~/.bash_profile

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

Теперь это позволит вам запускать любые программы, которые вы компилируете или загружаете с помощью инструментов Go, в любой точке вашей системы.

Чтобы обновить оболочку, введите следующую команду для загрузки только что созданных глобальных переменных:

. ~/.bash_profile

Вы можете проверить, что ваш$PATH обновлен, используя командуecho и проверив вывод:

echo $PATH

Вы должны увидеть ваш$GOPATH/bin, который появится в вашем домашнем каталоге. Если бы вы вошли в систему какsammy, вы бы увидели/Users/sammy/go/bin в пути.

Output/Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Теперь, когда у вас есть корень рабочего пространства и задана переменная среды$GOPATH, вы создадите свои будущие проекты со следующей структурой каталогов. В этом примере предполагается, что вы используетеgithub.com в качестве репозитория:

$GOPATH/src/github.com/username/project

Если бы вы работали над проектомhttps://github.com/digitalocean/godo, вы бы поместили его в следующий каталог:

$GOPATH/src/github.com/digitalocean/godo

Такое структурирование проектов сделает проекты доступными с помощью инструментаgo get. Это также поможет удобочитаемости позже.

Вы можете убедиться в этом, используя командуgo get для получения библиотекиgodo:

go get github.com/digitalocean/godo

Мы можем увидеть, что он успешно загрузил пакетgodo, указав каталог:

ls -l $GOPATH/src/github.com/digitalocean/godo

Вы получите вывод, похожий на этот:

Output-rw-r--r--  1 sammy  staff   2892 Apr  5 15:56 CHANGELOG.md
-rw-r--r--  1 sammy  staff   1851 Apr  5 15:56 CONTRIBUTING.md
.
.
.
-rw-r--r--  1 sammy  staff   4893 Apr  5 15:56 vpcs.go
-rw-r--r--  1 sammy  staff   4091 Apr  5 15:56 vpcs_test.go

На этом шаге вы создали рабочее пространство Go и настроили необходимые переменные среды. На следующем шаге вы протестируете рабочее пространство с некоторым кодом.

[[step-6 -—- created-a-simple-program]] == Шаг 6 - Создание простой программы

Теперь, когда у вас настроено рабочее пространство Go, пришло время создать простую программу «Hello, World!». Это обеспечит работу вашего рабочего пространства и даст вам возможность лучше ознакомиться с Go.

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

В домашнем каталоге откройте текстовый редактор командной строки, напримерnano, и создайте новый файл:

nano hello.go

Когда текстовый файл откроется в Терминале, наберите вашу программу:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Выйдите из nano, нажав клавишиcontrol иx, а когда будет предложено сохранить файл, нажмитеy.

Этот код будет использовать пакетfmt и вызывать функциюPrintln сHello, World! в качестве аргумента. Это приведет к тому, что фразаHello, World! будет выводиться на терминал при запуске программы.

Как только вы выйдете изnano и вернетесь в свою оболочку, запустите программу:

go run hello.go

Программаhello.go, которую вы только что создали, заставит Терминал выдать следующий вывод:

OutputHello, World!

На этом этапе вы использовали базовую программу, чтобы убедиться, что ваше рабочее пространство Go правильно настроено.

Заключение

Поздравляем! На этом этапе у вас есть рабочая область программирования Go, настроенная на вашем локальном компьютере с macOS, и вы можете начать проект кодирования!