Заставьте команды rustc, cargo, rustup, rustdoc работать без sudo в подсистеме Windows для Linux - PullRequest
0 голосов
/ 29 мая 2018

Я работаю с дистрибутивом Debian WSL, потому что хотел следовать учебным пособиям по InterMezzOS.Я следовал инструкциям по установке Rust и запустил curl https://sh.rustup.rs -sSf | sh, но я могу сделать команду rustc доступной только после запуска source $HOME/.cargo/env ПОСЛЕ запуска sudo su, и когда я выхожу из sudo, я не могу вызвать ее, икогда я набираю sudo su, он больше не работает, я должен набрать его снова.

Можно ли как-нибудь сделать его доступным, чтобы команды работали каждый раз, когда я открываю свою оболочку, без запуска sudo каждый раз?

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Обратите внимание, что curl https://sh.rustup.rs -sSf | sh добавит к /home/<user>/.profile строку, которая добавляет двоичные файлы в ~/.cargo/bin, включая rustup и rustc.Однако добавление двоичных файлов в .cargo не дает немедленного эффекта.Простой способ связать его с вашим терминалом bash (сразу после установки):

echo $(cat ~/.profile | tail -1) >> ~/.bashrc
source ~/.bashrc

В вашем конкретном случае, поскольку вы являетесь пользователем root, вам следует скопировать /root/home/.cargo и /root/home/.profile в ваших собственных пользователей.домашний каталог.

0 голосов
/ 06 июня 2018

Сразу после установки Rust вы можете узнать, где он был установлен в файловой системе Linux, запустив whereis rustc

Он должен вывести что-то вроде этого:

rustc: /home/damianrivas/.cargo/bin/rustc

Вам нужнодобавьте это к своему пути, поэтому откройте .bashrc в редакторе

nano ~/.bashrc

(если вы используете zsh, как я, просто замените его на ~/.zshrc)

Прокрутите вниз дов нижней части файла (или используйте сочетание клавиш alt + / и добавьте местоположение Rust к PATH, добавив в конце следующее:

# Add Rust to $PATH
export PATH="$HOME/.cargo/bin:$PATH"

У меня есть $HOME, потому что /home/damianrivas/ - это мой $HOME путь. Я мог бы также поставить

export PATH="/home/damianrivas/.cargo/bin:$PATH"

После этого выйдите из всех ваших открытых терминалов WSL, прежде чем открывать новый. Вы можете перезагрузить компьютер, чтобыбудьте уверены. Затем запустите rustc --version, когда откроете новый терминал, и он должен работать.

...