Почему $ PATH в блоке кода knitr отличается от $ PATH в терминале? - PullRequest
0 голосов
/ 31 декабря 2018

$ PATH, отраженный в блоке BASH knitr, пропустил некоторые пути из $ PATH в моем терминале MACOS.Это почему?есть ли способ установить значение $ PATH по умолчанию в bash engine в knitr так же, как в Terminal?

1- в knitr:

```{bash}
echo $PATH
```

/ usr / bin: / bin: /usr / sbin: / sbin: / usr / local / bin: / Applications / VMware Fusion.app/Contents/Public:/Library/TeX/texbin:/opt/X11/bin:/opt/local/

2- в терминале:

echo $PATH

/ opt / local / bin: / opt / local / sbin: / Users / xxx / miniconda3 / bin: /Library/Frameworks/Python.framework/Versions/3.6/ бен: / USR / местные / бен: / USR / бен: / бен: / USR / SBIN: / SBIN: / USR / местные / MySQL / бен: / Applications / vcflib / бен: / Applications / bedtools

1 Ответ

0 голосов
/ 31 декабря 2018

Это потому, что при запуске оболочки через GUI в OSX / MacOS .profile.bash_profile, .bashrc) не запускаются.Разница, по сути, заключается в том, что оболочка для входа и не входящая оболочка

В Терминале запустите cat ~/.profile, чтобы увидеть.profile содержит.Это будет варьироваться от пользователя к пользователю, и вы можете изменить его в соответствии со своими предпочтениями.

Существуют различные способы заставить $PATH в R соответствовать .profile.Самое непосредственное - это добавить пути, используя Sys.setenv(PATH=...), но это работает только для сеанса, оно будет сброшено при перезапуске R. Более постоянный вариант - поместить Sys.setenv(PATH=...) в .Rprofile или определить PATH в .Renviron.

...