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

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

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

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

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

Навигация

Go (Golang)

Компилятор

Проще всего установить компилятор 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

Утилиты

1. golangci-lint — линтеры для языка Go

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

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

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

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

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

2. gopls — LSP сервер для языка Go

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

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

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

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

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

Node.js

Node Version Manager

Рекомендованный способ установки — при помощи утилиты 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

Утилиты

1. typescript-language-server — LSP-сервер

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

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

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

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

Python

Интерпретатор

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

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

Пакетные менеджеры pip и pipx

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

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

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

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

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

Утилиты

1. pyright — LSP сервер для языка Python

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

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

Rust

Установщик rustup

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

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

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

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

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

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

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

Утилиты

1. rust-analyzer — LSP сервер для языка Rust

Установите пакет 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