Настройка 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-lint
AUR:
paru -S golangci-lint
yay -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-analyzersudo chmod +x /usr/local/bin/rust-analyzer