2016-09-14 2 views
0

Я бегу cmd-line R (версия 3.3.1) без проблем. Установка любого пакета локально из CRAN или GitHub (т. Е. Для пользователя, выполняющего сеанс) в порядке.Не удалось выполнить глобальную установку R-пакетов

Однако для того, чтобы установить pagkages глобально, я использую:

$ sudo su -l -c "/usr/bin/R -e \"install.packages('package-name', repos='https://cran.rstudio.com/')\"" 
/usr/bin/R: line 8: uname: command not found 

После запуска сеанс R и:

> install.packages('package-name',repos='https://cran.rstudio.com/') 

правильно выполняется внутри сессии R.

компоненты пакета правильно загружены и после того, как последний закончил загрузку, я получаю 16 идентичных экземпляров:

/usr/lib/R/bin/R: line 8: uname: command not found 
/usr/lib/R/bin/R: line 143: exec: sh: not found 

затем в конце концов на

The downloaded source packages are in 
    ‘/tmp/RtmpqL1osU/downloaded_packages’ 
There were 16 warnings (use warnings() to see them) 
> 
> 
sh: 1: rm: not found 

Я попытался это для devtools , swirl, ..., все пакеты, которые я хочу установить для всех пользователей на платформе.

Установка из CRAN в локальной библиотеке, то есть для данного пользователя, не вызывает проблем. Может ли кто-нибудь предложить, как я должен действовать? Благодарю.

ответ

0

Ну, кажется, что /usr/bin не в вашем $PATH при использовании Sudo ($PATH от /etc/sudoers используются Судо, etc/profile не загружен.).

Один способ обхода - использовать su -, а затем выполнить установку (etc/profile необходимо загрузить). Другим решением может быть добавление /usr/bin в $PATH в ваш sudo-оператор.

+0

Спасибо Aeck, однако '/ usr/bin' находится в моей переменной' $ PATH' env в '/ etc/sudoers' и работает с' - 'вместо' -l', производит тот же самый дефектный результат. , – Cbhihe

Смежные вопросы