16.03.2020

Установка GoLang на Windows Server

В инструкции написано как установить Go на с Windows Server и настроить среду программирования с помощью PowerShell.

Что такое Go?

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

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

Преимущества языка Go:

Открытие и настройка PowerShell

PowerShell - это программа от Microsoft, предоставляющая интерфейс командной строки. Задачи администрирования как правило выполняются с помощью командлетов, которые являются частью программной среды .NET и могут выполнять операции.

Откройте консоль PowerShell, это можно сделать с помощью поиска.

Перейдите в домашний каталог с помощью команды:

cd ~

Затем вы будете в домашнем каталоге, Например, в C:UsersAdministrator.

Для установки GoLang необходимо настроить разрешения для PowerShell. По умолчанию она настроена для работы в наиболее безопасном режиме. Существует несколько уровней разрешений, которые возможно настроить:

Restricted

Политика выполнения по умолчанию. В этом режиме нельзя запускать скрипты, а PowerShell работает только как интерактивная оболочка.

AllSigned

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

RemoteSigned

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

Unrestricted

Сценарии и файлы будут выполняться независимо от источника и наличия подписи.

 

Мы рекомендуем использовать политику RemoteSigned, чтобы установить разрешения для текущего пользователя. Это позволит PowerShell принимать доверенные сценарии, не делая разрешения такими же широкими, какими они были бы с неограниченным разрешением. Введите следующую команду в PowerShell:

Set-ExecutionPolicy -Scope CurrentUser

Далее PowerShell предложит вам указать политику выполнения. Введите RemoteSigned для возможности установки пакетов:

RemoteSigned

Как только вы нажмете Enter, вас попросят подтвердить изменение в политике выполнения. Введите букву Y, чтобы изменения вступили в силу. Вы можете проверить текущие разрешения на сервере:

Get-ExecutionPolicy -List

Ожидаемый вывод:

Scope            ExecutionPolicy
-----            ---------------

MachinePolicy          Undefined

UserPolicy             Undefined

Process                Undefined

CurrentUser         RemoteSigned

LocalMachine           Undefined

Это подтверждает, что возможно запускать доверенные сценарии, загруженные из Интернета.

Установка диспетчера пакетов Chocolatey

Диспетчер пакетов - это набор программных инструментов, которые автоматизируют процесс установки. Он занимается первоначальной установкой, обновлением и настройкой программного обеспечения, а также удалением по мере необходимости.

Chocolatey - это менеджер пакетов командной строки, созданный для Windows по аналогии с apt-get в Linux. Chocolatey  поможет быстро установить приложения и различные инструменты.

Начните с создания объекта WebClient с именем $script, который разделяет настройки интернет-соединения с Internet Explorer:

$script = New-Object Net.WebClient

Используйте этот метод DownloadString  для инспекции скрипта:

$script.DownloadString("<a href="https://chocolatey.org/install.ps1">https://chocolatey.org/install.ps1</a>")

Установите Chocolatey:

iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

Установка текстового редактора Nano (опционально)

На этом шаге можно установить текстовый редактор nano, который использует интерфейс командной строки. Вы можете использовать nano для написания программ непосредственно в PowerShell. Это не обязательный шаг, так как вы также можете использовать текстовый редактор с графическим интерфейсом пользователя, например, Блокнот или Sublime.

Используйте Chocolatey для установки nano:

choco install -y nano

Установка Go

Как и в случае с nano на предыдущем шаге, используйте Chocolatey для установки Go:

choco install -y golang

После завершения установки убедитесь, что Go установлен. Чтобы увидеть изменения, закройте и снова откройте PowerShell от имени администратора, а затем проверьте доступную версию Go:

go version

Ожидаемый вывод:

go version go1.12.5 windows/amd64

Создание простой программы

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

nano hello.go

Вставьте следующие строки в файл:

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

Выйдите из nano, нажав клавиши CTRL и X. Когда будет предложено сохранить файл, нажмите Y, а затем ENTER.

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

go run hello.go

Программа hello.go должна вывести следующую строку:

Hello, World!

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