Изменчивый Setting system-wide environment using / и т.д. / environment

I want to add to my PATH so that my computer (Ubuntu) knows where to interpret the "R" command (for launching R). I need this so в Терминал or RStudio хан find where I installed R.

I did all of the following, none of which permanently associates the command R with the directory of my R installation in ~/R/bin.

  1. export PATH=$PATH:$HOME/R/bin <-Конечный This works within the session it was enacted in, but if I open up в second терминал, PATH goes back to what it was before I added $HOME/R/bin to it

The same "локальный Терминал only" behavior occurred when I added this line to two different поля, based on recommendations on various интернет-сайты:

  1. sudo vim ~/.profile

    export PATH=$PATH:$HOME/R/bin
    
  2. sudo vim /etc/environment

    export PATH=$PATH:$HOME/R/bin
    

Why won't R be recognized in new Конечный sessions?

5
задан 8 December 2015 в 16:21

1 ответ

/etc/environment файл не является файлом сценария: AFAIK Вы не можете использовать export там и это не поддерживает переменное расширение типа $HOME, просто простойvariable=value пары. Таким образом для использования того файла необходимо было бы просто добавить путь к существующему определению, как

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/username/R/bin"

Однако установка в масштабе всей системы PATH включать корневой каталог пользователя таким образом - сомнительная практика, по моему скромному мнению: нормальный путь состоял бы в том, чтобы использовать один из собственных файлов запуска оболочки пользователя: ~/.profile обычно рекомендуемый для переменных среды, однако он имеет недостаток того, чтобы только быть вызванным оболочками входа в систему, поэтому чтобы заставить его вступать в силу, необходимо будет выйти из системы и въехать задним ходом - или по крайней мере, запустить новую оболочку входа в систему, например, использование

    su - username

или

    su -l username

Отметьте это sudo не должен использоваться для редактирования этих персональных файлов, поскольку это, вероятно, оставит их принадлежавшими root, который может вызвать дальнейшие проблемы в будущем. Если Вы уже использовали sudo vim Вы, возможно, должны использовать sudo chown восстановить их корректное владение, например.

sudo chown username:username ~/.profile

Затем можно добавить желаемый компонент контура с помощью предпочтительного редактора, например.

vim ~/.profile

Вы могли даже рассмотреть копирование существующей парадигмы для ~/bin в том файле т.е. добавляют его как

# set PATH so it includes user's private R bin if it exists
if [ -d "$HOME/R/bin" ] ; then
    PATH="$HOME/R/bin:$PATH"
fi
7
ответ дан 23 November 2019 в 09:06

Другие вопросы по тегам:

Похожие вопросы: