Вопрос или проблема
Я спрашиваю это, потому что мне нужно установить NeoVim с GitHub, чтобы получить последнюю версию 0.9.5, вместо версии v0.7.something, доступной через пакетный менеджер apt
.
$ sudo apt list neovim
Listing... Done
neovim/stable 0.7.2-7 amd64
Но я редко устанавливаю программное обеспечение вручную, поэтому я понятия не имею, где именно (в каком месте) я должен установить NeoVim вручную следующим образом:
Установите NeoVim из tarball файла:
- Скачать
nvim-linux64.tar.gz
(да, но в какое именно место я должен скачать этот файл?) - Распаковать:
tar xzvf nvim-linux64.tar.gz
(да, но в какое именно место я должен распаковать этот файл?) - Запустить
./nvim-linux64/bin/nvim
(какую именно директорию представляет “.” в этом пути?)
Я собираюсь установить этот NeoVim на Debian 12, виртуальный приватный сервер, без графической среды.
$ hostnamectl
Static hostname: debian
Icon name: computer-vm
Chassis: vm 🖴
Virtualization: microsoft
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-17-amd64
Architecture: x86-64
Hardware Vendor: Vultr
Hardware Model: HFC
И для меня важно, чтобы этот NeoVim запускался легко, используя команду nvim
, а не какую-то громоздкую и длинную команду с полным путем и именем файла.
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Я хочу установить NeoVim на уровне всей системы, чтобы все пользователи могли использовать его так же, как они используют любую другую программу.
Иногда дистрибуции добавляют обновления функций в пакеты и сохраняют те же номера версий (они почти всегда добавляют исправления безопасности). В таких случаях, это все, что вам нужно. NeoVim не относится к этим случаям и не имеет всех последних функций. Я просто указываю на это для будущего использования.
Что касается того, что находится на GitHub, вы можете:
-
Скомпилировать его, используя инструкции на странице. Вам нужно будет скомпилировать его в директории, доступной всем пользователям.
-
Использовать предварительно скомпилированный бинарный файл, который вы получили.
После этого вам понадобятся права sudoer, которые, судя по всему, у вас есть, чтобы добавить его в init, чтобы он добавлялся в начало пути, где расположен бинарный файл neovim
, будь то компиляция из исходников или использование предварительно скомпилированных бинарных файлов. Например, если это /usr/local/neovim/0.9.5/bin
, то создайте файл в /etc/profile.d
, например, /etc/profile.d/neovim.sh
со следующим содержимым:
export PATH=/usr/local/neovim/0.9.5/bin:$PATH
Убедитесь, что init файл выше доступен для чтения всем пользователям, и что путь, в который вы помещаете бинарные файлы, доступен для всех. Это добавит его в окружение каждого пользователя при входе, который использует bash
в качестве своей оболочки входа.
.
Ответ или решение
Установка NeoVim версии 0.9.5 на Debian с использованием tarball-файла, демонстрирует глубину взаимодействия с Unix-подобными системами, позволяя получить максимальную гибкость и контроль над системой. Если вас не устраивает версия NeoVim, доступная в стандартных репозиториях Debian, то, скачав и установив его вручную, вы получаете доступ к последним функциям и улучшениям, что особенно важно для опытных пользователей или разработчиков, стремящихся использовать более современные инструменты.
Теория
Для начала следует понимать различие между установкой программного обеспечения через менеджеры пакетов, такие как apt
, и установкой посредством загрузки бинарных файлов с последующим их вручную копированием в нужные директории. Использование apt
обычно более безопасно благодаря автоматической обработке зависимостей и обновлений, однако иногда можно столкнуться с проблемой устаревших версий. В этом случае вручная установка из источника или через уже скомпилированные исполняемые файлы становится целесообразной и необходимой.
Пример
Рассмотрим пошаговый процесс установки NeoVim версии 0.9.5 на Debian с помощью сценария скачивания tarball-файла, его распаковки и добавления пути к бинарнику в системный PATH для всех пользователей.
Шаг 1: Скачивание tarball-файла
-
Выберите директорию, в которую будет скачан файл. Обычно используют
/tmp
для временных файлов или домашнюю директорию текущего пользователя:cd /tmp wget https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
-
Убедитесь, что загрузка выполнена успешно:
ls nvim-linux64.tar.gz
Шаг 2: Распаковка содержимого
-
Распакуйте файл в целевую директорию, например,
/usr/local
для системных приложений:sudo tar -xzvf nvim-linux64.tar.gz -C /usr/local
-
В результате в директории
/usr/local
появится папкаnvim-linux64
.
Шаг 3: Обеспечение доступности NeoVim для всех пользователей
-
Чтобы команду
nvim
можно было вызывать из любого места, добавим путь к бинарнику в системный PATH. Для этого создайте файл/etc/profile.d/neovim.sh
:Используя текстовый редактор
nano
илиvim
, создайте файл:sudo nano /etc/profile.d/neovim.sh
Добавьте в файл следующую строку:
export PATH=/usr/local/nvim-linux64/bin:$PATH
-
Убедитесь, что скрипт исполняемый:
sudo chmod +x /etc/profile.d/neovim.sh
-
Пути и скрипты должны быть доступны другим пользователям, это делается путем установления соответствующих прав доступа.
Шаг 4: Проверка установки
-
Перезагрузите системные переменные среды для текущей сессии:
source /etc/profile
-
Проверьте, что NeoVim запускается без указания полного пути:
nvim --version
Если все сделано правильно, NeoVim должен открыться с ожидаемой версии 0.9.5, доступной через простую команду nvim
.
Применение
Этот подход к установке важен для системных администраторов и разработчиков, работающих в средах, где требуется абсолютно проверенный и конкретный релиз программного обеспечения. Это также полезно для ситуаций, когда автономность и независимость от экосистемы пакетов системы имеет первостепенное значение. Важно отметить, что ручная установка требует более тщательного управления обновлениями и безопасности, поскольку автоматические обновления не будут применяться, в отличие от пакетов, установленных через стандартные менеджеры пакетов.