Как добавить каталог в PATH в Linux
Обычно расположение исполняемого файла для запуска установленной программы добавляется в ` PATH
в Linux. Следовательно, вы можете запустить программу из любого места оболочки, не вводя полный путь к исполняемому файлу. Однако в некоторых случаях вам необходимо вручную добавить место установки программы в ` PATH
. В этом кратком руководстве мы увидим, как добавить каталог в PATH в операционных системах Linux.
Почему нам следует добавлять каталог в путь `?
На днях я тестировал программу Macchina, написанную на языке программирования Rust. Поэтому я установил Rust с помощью менеджера пакетов conda
в своей системе Ubuntu, а затем установил Macchina с помощью менеджера пакетов cargo
Rust.
Когда я попытался запустить программу Macchina, в выводе было сказано, что программа не установлена. Я снова попытался установить его и получил следующее сообщение об ошибке:
Updating crates.io index
Ignored package `macchina v0.5.9` is already installed, use --force to override
warning: be sure to add `/home/sk/.cargo/bin` to your PATH to be able to run the installed binaries
Добавить каталог грузовых отсеков в PATH
Как вы, возможно, уже знаете, когда мы устанавливаем программу, написанную на Rust, исполняемые двоичные файлы будут сохранены в каталоге bin Cargo (т. е. ~/.cargo/bin
).
ls ~/.cargo/bin/
macchina
Как видите, двоичный файл Macchina хранится в каталоге грузового отсека. После установки Rust я должен был добавить этот каталог в свой путь `, но забыл. Отсюда вышеописанная проблема!
Если бы я установил Rust с помощью сценария установки rustup
, я бы не столкнулся с этой проблемой. Потому что скрипт ржавчины автоматически добавит каталог bin Cargo в переменную среды ` PATH
, изменив файл profile , расположенный по адресу ~/.profile. . Но в данном случае я установил Rust внутри среды conda
, и каталог грузового отсека не добавлен в PATH.
Получение списка переменных среды в ` PATH
Давайте перечислим все переменные среды в нашем ` PATH
с помощью команды echo
.
echo $PATH
Пример вывода:
/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Получение списка переменных среды в PATH в Linux
Как вы можете видеть в приведенном выше выводе, каталог ~/.cargo/bin/
недоступен в пути ` PATH, поэтому программу Macchina нельзя запустить, используя его имя. Однако я могу запустить программу, введя ее полный путь, как показано ниже:
~/.cargo/bin/macchina
Чтобы запустить программу, используя ее имя из любого места, нам нужно добавить ее в PATH, как показано в следующем разделе.
Добавить каталог в PATH в Linux
Чтобы добавить каталог, например /home/sk/.cargo/bin/
, в PATH `, выполните:
export PATH=/home/sk/.cargo/bin:$PATH
Обратите внимание на двоеточие (:) в конце пути к каталогу.
Теперь снова перечислите переменные среды, используя команду echo
:
echo $PATH
Пример вывода:
/home/sk/.cargo/bin:/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Добавьте каталог в PATH в Linux
Видеть? Каталог ~/.cargo/bin
был добавлен в ` PATH
. С этого момента я могу запускать любую программу, установленную в этом каталоге, просто вызывая имя программы. Не нужно указывать полный путь!
Обратите внимание, что это временно. Как только вы выйдете из текущего сеанса, переменная среды исчезнет.
Чтобы изменения стали постоянными, отредактируйте файл ~/.bashrc
:
nano ~/.bashrc
Добавьте в конце следующую строку:
export PATH=/home/sk/.cargo/bin:$PATH
Добавьте каталог контейнеров Cargo в файл вашего профиля.
Нажмите CTRL+O
, а затем CTRL+X
, чтобы сохранить файл и выйти.
Выполните следующую команду, чтобы изменения вступили в силу немедленно:
source ~/.bashrc
Если вы хотите сделать это для всей системы, добавьте ту же строку в /etc/profile
.
Надеюсь это поможет.