Трудность запуска нескольких версий R из командной строки - PullRequest
0 голосов
/ 12 июня 2019

Я в команде, которая запускает несколько cronjobs, которые вызывают R-скрипты с удаленного компьютера (macos). Моему коллеге нужно запустить 3.6 для нового скрипта, в то время как пакет, необходимый для моего, еще не обновлен для него. Я пытаюсь поставить несколько установок на одном компьютере, поэтому мы просто указываем, какую версию "R" вызывать в cronjob.

Я знаю, что установка из источника не рекомендуется для MacOS, поэтому я пытался следовать указаниям здесь https://cran.r -project.org / doc / manual / r-patched / R-admin.html # Несколько версий и запустили команды pkgutil --forget, чтобы предотвратить установку R 3.6 с перезаписью каталога R.framework / Versions / 3.5.

Вот команды pkgutil, которые я выполнил:

sudo pkgutil --forget org.r-project.x86_64.tcltk.x11
sudo pkgutil --forget org.r-project.R.el-capitan.GUI.pkg
sudo pkgutil --forget org.r-project.R.el-capitan.fw.pkg
sudo pkgutil --forget org.r-project.x86_64.texinfo

Еще после установки 3.6 из CRAN, когда я запускаю следующую строку:

Library/Frameworks/R.framework/Versions/3.5/Resources/bin/R

Вместо консоли 3.5.3, работающей в терминале, появляется консоль 3.6.

Я запутался в том, что делать здесь - я также использовал

ls -la 3.5/Resources/bin | grep "/->"

, чтобы проверить и посмотреть, была ли создана символическая ссылка во время установки, которая изменила бы версию / местоположение, но не принесла результатов, и когда я запускаю Rscript --version в том же каталоге, что и путь R, показанный выше, я получаю следующее выход:

R scripting front-end version 3.5.3 (2019-03-11)

Хотя, когда я пытаюсь запустить свой скрипт, используя это местоположение Rscript, я получаю ту же ошибку, что и я, когда он запускал его с использованием R 3.6. Однако после переустановки R 3.5.3 скрипт работал нормально.

В принципе, я думаю, что какая-то последняя установленная версия R, похоже, переопределяет и запускается независимо от того, что я делаю, чтобы убедиться, что вместо этого работает более старая версия. Может ли кто-нибудь помочь мне разобраться, как или почему это происходит, или предложить, как установить R 3.6 в качестве «R» по умолчанию, и в то же время разрешить мне запускать 3.5.3 для определенных сценариев по мере необходимости?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...