Я пытаюсь запустить скрипт R как cronjob со средой conda. Запуск сценария из терминала хорошо работает, если: script.sh
/opt/anaconda/anaconda3/envs/{env-name}/bin/Rscript '/ABSOLUTE_PATH/script.R' >> '/ABSOLUTE_PATH/script.log' 2>&1
Однако при определении задания в crontab -e
как
30 14 * * * /ABSOLUTE_PATH/script.sh
Результаты
Error: package or namespace load failed for 'tidyverse' in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/opt/anaconda/anaconda3/envs/admenv/lib/R/library/stringi/libs/stringi.so':
libicui18n.so.58: cannot open shared object file: No such file or directory
Execution halted
Я пытался запустить его как
/opt/anaconda/anaconda3/envs/{env-name}/bin/R '/ABSOLUTE_PATH/script.R' >> '/ABSOLUTE_PATH/script.log' 2>&1
source /opt/anaconda/anaconda3/bin/activate {env-name}; Rscript '/ABSOLUTE_PATH/script.R' >> '/ABSOLUTE_PATH/script.log' 2>&1
, что привело к той же ошибке, что и cronjob. Переустановка пакетов в conda conda remove r-tidyverse; conda install -c r r-tidyverse
не помогла.
Используемая версия R - 3.6.2 и Anaconda 4.8.2. Как я мог решить эту проблему?