Я только что установил , перейдите с на /usr/local/go
и в ~/.bashrc
добавили эту строку:
export PATH=$PATH:/usr/local/go/bin
Теперь go
работает из командной строки, но sudo go
дает мне:
$ sudo go
sudo: go: command not found
~
$ sudo echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/benjamin/algs4/bin:/usr/local/go/bin
Просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.
sudo ln -s /usr/local/go/bin/go /usr/bin/go
Проверьте, настроили ли вы политику безопасности для своего PATH, с помощью следующей команды:
$ sudo sudo -V | grep PATH
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Если это так, либо отключите ее, либо добавьте ее с помощью sudo visudo
.
См .: Почему переменные PATH отличаются при работе через sudo и su? в Unix SE
Команда sudo
имеет параметры env_keep
и env_reset
в файле sudoers
.
Вы должны либо отредактировать настройку env_keep, либо использовать sudo -E
.
Отредактируйте файл/etc/sudoers. Добавьте желаемые пути к следующей строке:
Значения по умолчанию secure_path =/sbin:/bin:/usr/sbin:/usr/bin
пример:
Значения по умолчанию secure_path =/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin