Здравствуйте! В статье представленна инструкция по установке языка программирования Golang в подсистему Linux на Windows 10 (11). Если у вас уже установлен WSL2 и Visual Studio Code, то смело переходи на 3 часть этой статьи, для всех других же...
WSL 1 (WSL 2)
Ребята из Мягкого софта написали гайд для тебя (Install WSL on Windows 10 | Microsoft Docs), но если хочешь можешь воспользоваться моими шагами.
Для начала нам необходимо включить поддержку WSL. Запустите PowerShell с правами администратора и выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
При появлении соответствующего запроса перезагрузите компьютер.
Чтобы скачать и установить предпочтительные дистрибутивы, у вас есть три варианта:
-
Скачать и установить из Microsoft Store;
Скачать и установить с помощью командной строки или сценария;
wsl --install
Команда --install выполняет следующие действия:
Включает дополнительные компоненты WSL и Virtual Machine Platform;
Скачивает и устанавливает последнее ядро Linux;
Устанавливает WSL 2 по умолчанию;
Скачивает и устанавливает дистрибутив Ubuntu Linux (может потребоваться перезагрузка)
После завершения установки вам будет предложено создать учетную запись пользователя (и ее пароль).
Информация о новой учетной записи пользователя Linux
Учетная запись предназначена для обычного пользователя без прав администратора, который будет использоваться по умолчанию для входа в систему при запуске дистрибутива;
Вы можете выбрать любое имя пользователя и пароль, которые не связаны с именем пользователя Windows;
Когда вы открываете новый экземпляр дистрибутива, вам не будет предложено ввести пароль, но если вы повысите привилегии процесса, используя sudo, вам нужно будет указать пароль. Поэтому убедитесь, что вы выбрали пароль, который вы можете легко запомнить. Дополнительные сведения приведены на странице «Учетные записи пользователей и разрешения для подсистемы Windows для Linux».
Если в результате стандартной установки ваш WSL остался на первой версии, то обратитесь к Step 4.
Visual Studio Code (Remote WSL)
Берём VSC и устанавливаем Visual Studio Code - Code Editing. Redefined . Во вкладке с расширениями находим Remote WSL, устанавливаем:
После установки утилиты в VSC, вы сможете подключится к директориям в WSL. У вас есть возможность редактировать любые фалы которые находятся в WSL.
Golang
Имея WSL2 и VSCode мы готовы с вами к установке языка Golang. Зайдём на сайт и посмотрим актуальную стабильную версию (Standard library · pkg.go.dev), на момент написания статьи это go1.16.7
"Обновления обряд совершить не забудь ты"
sudo apt-get update && sudo apt-get upgrade -y
Теперь пришло время загрузить golang. Откройте терминал в VSC ( ctrl + ` ) и введите следующие команды, но замените на актуальную версию Go во время загрузки.
wget https://dl.google.com/go/go1.16.7.linux-amd64.tar.gz
sudo tar -xvf go1.16.7.linux-amd64.tar.gz
sudo mv go /usr/local
В дериктории пользователя /home/<USER>
откройте файл .bashrc
и в самом конце файла допишите три переменные:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
Сохраните файл и перезапустите WSL командо в PowerShell wsl --shutdown
Заходим в наш WSL и проверяем версию языка go version
Ну вот и всё! Всем удачи в использовании Golang!
Комментарии (9)
tempick
10.08.2021 21:29Я плохо разбираюсь в сис. администрировании, и wsl только щупал пару раз. Вопрос: установка golang и других приложений/пакетов на wsl чем-то отличается от установки их просто на ubuntu?
numb
10.08.2021 21:31Конкретно golang - ничем. Установка в статье сделана по документации с офф. сайта для Linux
wtask
10.08.2021 22:51Хочется понять зачем устанавливать Go в WSL? 5й год и то и то использую и не пойму смысла этого...
GAG
11.08.2021 10:41Ребята из Мягкого софта написали гайд для тебя (Install WSL on Windows 10 | Microsoft Docs), но если хочешь можешь воспользоваться моими шагами.
Cтилистика журнала ксакеп *дцатилетней давности довольно странно смотрится в 2021-м.
ld100
"Отличный" совет: вместо стандартных, для конкретного дистрибутива, пакетов с возможностью автообновления поставим Go исходников.
Exclipt
зато apt update/upgrade не забыли
maledog
Версии пакетов с go обычно отстают. Так что если хочется поставить самую последнюю версию, то можно и так. Другое дело, что нужно еще git и gcc как минимум. Иначе с sqlite не поработаешь(есть драйвер на чистом go но пока уступает по функционалу сишному). А если планируется еще и мультиплатформенная разработка, то понадобятся еще и кросс-пакеты и либы. Если же нужен чистый go, тогда и смысла в wsl немного - уже несколько лет поддерживается кросскомпилляция(GOOS="linux" GOARCH="amd64" и вперед).
Кроме того, при такой установке можно хранить go компактно в одной папке и переносить между различными дистрибутивами linux.
ld100
"Обычно" - это если совсем не запариваться. Если кому-то нужно свежее - можно подключить альтернативный репозиторий, где Go более свежий.
Я, например, уже год как использую в WSL kali linux, где пакеты более-менее свежие.
maledog
Использовать распоследнюю версию ubuntu тоже то еще удовольствие. Особенно когда есть софт не из основных репозитариев привязанный к определенным версиям python, определенным версиям webkit или определенным версиям wxWidgets, определенным версиям gcc. Впрочем мне все равно что там у вас в WSL. Я давно веду разработку обходясь без windows. Изредка запускаю, чтобы потестировать работу софта, собранного mingw.