Перейти к содержимому

Настройка Linux для разработки

Гайд по настройке Arch Linux для разработки.

Если вы используете другой дистрибутив (который не базируется на Arch Linux), используйте соответствующий пакетный менеджер. Для каждого пакета приведён статус сборки, где можно узнать название необходимого пакета в репозиториях вашего дистрибутива.

В этом документе не приведены инструкции по настройке LSP-серверов в Neovim. См. nvim-lspconfig (если вы используете его напрямую) или инструкции по настройке LSP-серверов вашего дистрибутива.

Навигация

Проще всего установить компилятор Go из репозиториев. Это позволит легко обновлять его с выходом новых версий.

Установите пакет go:

Окно терминала
sudo pacman -S go
Статус сборки пакетов Статус сборки пакетов

Также можно скачать архив с go.dev и распаковать его в /usr/local.

Окно терминала
curl -o go.tar.gz "https://go.dev/dl/goX.X.X.OS-arch.tar.gz"
# Полностью удалить предыдущую установку Go.
sudo rm -rf /usr/local/go
# Установить скачанную версию из архива.
sudo tar -C /usr/local -xzf go.tar.gz

Замените X.X.X.OS-arch на необходимую версию, ОС и архитектуру, например, 1.23.4.linux-amd64.

При установке из архива рекомендуется создать символьную ссылку в /usr/local/bin, чтобы можно было запускать компилятор командой go:

Окно терминала
sudo ln -s /usr/local/go/bin/go /usr/local/bin/go

Установите пакет golangci-lint:

Окно терминала
sudo pacman -S golangci-lint
Статус сборки пакетов Статус сборки пакетов

Или установите при помощи go install:

Окно терминала
go install github.com/golangci/golangci-lint/cmd/golangci-lint@vX.X.X

Замените X.X.X на нужную версию, например, 1.63.4.

Установите пакет gopls:

Окно терминала
sudo pacman -S gopls
Статус сборки пакетов Статус сборки пакетов

Или установите при помощи go install

Окно терминала
go install golang.org/x/tools/gopls@vX.X.X

Замените X.X.X на нужную версию, например, 0.17.1.

Рекомендованный способ установки — при помощи утилиты Node Version Manager. Это обеспечивает возможность быстро менять версии и решает проблему с глобальной установкой пакетов (EACCES permission denied).

Установите пакет nvm:

Окно терминала
sudo pacman -S nvm
Статус сборки пакетов Статус сборки пакетов

В качестве альтернативы, установите nvm при помощи скрипта:

Окно терминала
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

Далее, добавьте в файл профиля вашей оболочки (.bashrc, .bash_profile, .zshrc и т.п.):

Окно терминала
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Установите последнюю версию Node.js:

Окно терминала
nvm install node

Установите пакет typescript-language-server:

Окно терминала
sudo pacman -S typescript-language-server
Статус сборки пакетов Статус сборки пакетов

Или установите как глобальный npm-пакет. Обратите внимание, что в этом случае он будет доступен только для текущей версии Node.js:

Окно терминала
npm i -g typescript-language-server

Установите пакет python. Зачастую он устанавливливается вместе с системой или установлен по умолчанию.

Окно терминала
sudo pacman -S python

Установите пакет python-pip:

Окно терминала
sudo pacman -S python-pip
Статус сборки пакетов Статус сборки пакетов

pipx, в свою очередь, позволяет устанавливать пакеты Python из Python Package Index в изолированных окружениях. Это полезно для установки пакетов, которых нет в репозиториях дистрибутива. В отличие от pip, пакеты устанавливаются в домашнюю директорию.

Установите пакет python-pipx:

Окно терминала
sudo pacman -S python-pipx
Статус сборки пакетов Статус сборки пакетов

Установите пакет pyright:

Окно терминала
sudo pacman -S pyright
Статус сборки пакетов Статус сборки пакетов

Рекомендованный способ установки — при помощи rustup.

Установите пакет rustup:

Окно терминала
sudo pacman -S rustup
Статус сборки пакетов Статус сборки пакетов

Или установите при помощи скрипта:

Окно терминала
curl -fsSL https://sh.rustup.rs | sh

После установки необходимо задать инструменты (toolchain) по умолчанию:

Окно терминала
rustup default stable

Установите пакет rust-analyzer:

Окно терминала
sudo pacman -S rust-analyzer
Статус сборки пакетов Статус сборки пакетов

Или установите из архива:

Окно терминала
curl -fsSL "https://github.com/rust-lang/rust-analyzer/releases/latest/download/rust-analyzer-x86_64-unknown-linux-gnu.gz" | sudo gunzip -c - > /usr/local/bin/rust-analyzer
sudo chmod +x /usr/local/bin/rust-analyzer