2016-09-14 143 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 

我想這爲devtoolsswirl,...,我想爲平臺上的所有用戶安裝的所有軟件包。

CRAN在當地圖書館(即給定用戶)安裝不會造成麻煩。任何人都可以建議我應該怎麼做?謝謝。

回答

0

那麼它似乎/usr/bin是不是在你的$PATH當你使用sudo(從/etc/sudoers$PATH通過sudo的使用,未加載etc/profile)。

一種解決方法是使用su -,然後執行安裝(應加載etc/profile)。另一種解決方案可能是將/usr/bin添加到您的sudo語句中的$PATH

+0

感謝Aeck,'/ usr/bin'在'/ etc/sudoers'中的'$ PATH' env變量中,並且用' - '而不是'-l'運行,產生完全相同的錯誤結果。 。 – Cbhihe