我在Ubuntu中使用R.我意识到我在/usr/local/lib/R/site-library/
和/home/sparhawk/R/x86_64-pc-linux-gnu-library/3.0/
都安装了软件包。我更喜欢他们在我的用户目录中。
如何将所有(非基础)包移动到用户目录?如有必要,我很高兴重新安装R和/或包裹。
我也试过sudo apt-get purge r-base
,但这并没有触及上面列出的根目录。
答案 0 :(得分:0)
对install.packages使用 destdir 选项指定要安装的软件包的位置。
install.packages(“RCpp,destdir =”〜/ RPackages“,CRAN =”http://cran.r-project.org“)
答案 1 :(得分:0)
首先我清除了Ubuntu包
$ sudo apt-get purge r-recommended
$ sudo apt-get --purge autoremove
...
dpkg: warning: while removing r-base-core, directory '/usr/lib/R/library' not empty so not removed
如上所述,未删除一个目录,因此
$ rm -r /usr/lib/R /tmp
/usr/local/lib/R/site-library/
和~/R/x86_64-pc-linux-gnu-library/
的包目录仍然存在,因此我删除了它们。
$ mv /usr/local/lib/R/ /tmp
$ mv ~/R/ /tmp/R-user
sudo apt-get install r-recommended
从用户帐户运行R(我使用了RStudio)。手动安装包。
有一次,我收到了警告。
Warning message:
installed directory not writable, cannot update packages 'Matrix'
因此,我不是以超级用户身份运行R,而是尝试在用户目录中安装另一个版本。我想我已安装了两个版本,但R似乎选择了更新的版本。
> update.packages()
Matrix :
Version 1.0-14 installed in /usr/lib/R/library
Version 1.1-0 available at http://cran.rstudio.com
Update (y/N/c)? y
Warning in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl, :
'lib = "/usr/lib/R/library"' is not writable
Would you like to use a personal library instead? (y/n) y
...
> update.packages()
Warning: package 'Matrix' in library '/usr/lib/R/library' will not be updated
> packageVersion('Matrix')
[1] ‘1.1.0’
然而,尽管R似乎选择了最新版本,但仍然会收到有关无法升级软件包的警告消息。
> biocLite("limma")
Warning message:
installed directory not writable, cannot update packages 'Matrix'