Запуск Rscript в Bash на Windows - PullRequest
       1

Запуск Rscript в Bash на Windows

0 голосов
/ 08 октября 2019

Я пишу Git-хук, который должен запускать некоторый R-код. Если перехват начинается с

#!/usr/bin/env Rscript

, то следующий код правильно интерпретируется как R.

Однако Rscript ищет мои установленные пакеты в моем домашнем каталоге. Согласно R для Windows FAQ домашний каталог определяется переменными среды R_USER или HOME. Однако оболочка Git Bash не содержит ни одного из них, поэтому домашний каталог по умолчанию является рабочим каталогом.

Таким образом, хук не может найти любые неосновные пакеты.

Решение, которое я нашел, состоит в том, чтобы создать R-файл и затем использовать Bash в хуке для вызова Rscript после ручного определения R_USER:

#!/bin/sh

R_USER="my/home/directory"
export R_USER

Rscript foo.R

(где foo.R находится в рабочем каталоге проекта, вэто дело).

Это работает, но несколько не элегантно. Я бы предпочел просто использовать Rscript в самом хуке.

Так что я решил установить домашний каталог в Rscript:

#!/usr/bin/env Rscript
Sys.setenv(R_USER = "my/home/directory")

Но хотя он устанавливает R_USER, он не 'решить проблему. Я предполагаю, что это означает, что R определяет путь поиска пакетов до запуска самого скрипта, поэтому определение R_USER внутри скрипта не меняет того факта, что он все еще ищет пакеты в рабочем каталоге.

* 1030Итак, есть ли решение для этого (например, установив R_USER, а затем каким-то образом указав R обновить каталог пакета)? Или метод использования Bash-to-call-Rscript - это путь?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...