Настройка Linux для разработки
Гайд по настройке Arch Linux для разработки.
Если вы используете другой дистрибутив (который не базируется на Arch Linux), используйте соответствующий пакетный менеджер. Для каждого пакета приведён статус сборки, где можно узнать название необходимого пакета в репозиториях вашего дистрибутива.
В этом документе не приведены инструкции по настройке LSP-серверов в Neovim. См. nvim-lspconfig (если вы используете его напрямую) или инструкции по настройке LSP-серверов вашего дистрибутива.
Навигация
Go (Golang)
Заголовок раздела «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
Заголовок раздела «1. golangci-lint — линтеры для языка 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
.
2. gopls
— LSP сервер для языка Go
Заголовок раздела «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.js»Node Version Manager
Заголовок раздела «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-сервер
Заголовок раздела «1. typescript-language-server — LSP-сервер»Установите пакет typescript-language-server
:
sudo pacman -S typescript-language-server
Или установите как глобальный npm-пакет. Обратите внимание, что в этом случае он будет доступен только для текущей версии Node.js:
npm i -g typescript-language-server
Интерпретатор
Заголовок раздела «Интерпретатор»Установите пакет python
.
Зачастую он устанавливливается вместе с системой или установлен по умолчанию.
sudo pacman -S python
Пакетные менеджеры pip
и pipx
Заголовок раздела «Пакетные менеджеры 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
Заголовок раздела «1. pyright — LSP сервер для языка Python»Установите пакет pyright
:
sudo pacman -S pyright
Установщик rustup
Заголовок раздела «Установщик rustup»Рекомендованный способ установки — при помощи rustup.
Установите пакет rustup
:
sudo pacman -S rustup
Или установите при помощи скрипта:
curl -fsSL https://sh.rustup.rs | sh
После установки необходимо задать инструменты (toolchain) по умолчанию:
rustup default stable
Утилиты
Заголовок раздела «Утилиты»1. rust-analyzer
— LSP сервер для языка Rust
Заголовок раздела «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