如何在没有root权限的情况下安装Bioconductor软件包?

时间:2015-06-01 23:55:14

标签: linux r

我需要使用BiomaRt,最好是3.1版本中的版本。请参阅:http://www.ensembl.info/blog/2015/06/01/biomart-or-how-to-access-the-ensembl-data-from-r/

我尝试按照前面提到的页面中的安装说明在基于Linux的服务器中运行程序。另外,我尝试了这个:http://www.bioconductor.org/install/#install-R,但是,除非获得root权限,否则他们不会工作。我使用这种方法https://linuxishbell.wordpress.com/2010/12/10/install-r-package-without-root-accesson-linux/加载了其他包,但它们似乎不适合我的情况。什么是最值得推荐的事情?我在互联网上搜索过,但在这种情况下,Bioconductor团队和用户提供的建议很少。

2 个答案:

答案 0 :(得分:1)

解决方案

最简单的方法是安装R from source

$ wget http://cran.rstudio.com/src/base/R-3/R-3.1.1.tar.gz
$ tar xvf R-3.1.1.tar.gz
$ cd R-3.1.1
$ ./configure --prefix=$HOME/R
$ make && make install

倒数第二步是至关重要的一步。它将R配置为安装在您自己主目录的子目录中。

要在Linux和类似系统上运行它,请将$HOME/R/bin添加到PATH。然后,RRscript等命令将起作用。

在OS X上,由于OS X打包的工作方式,bin目录隐藏在$HOME/R/R.framework/Versions/Current/Resources中。

如果您不希望将R及其所有依赖项隐藏在其自己的子目录中,则可以改为--prefix=$HOME。如果您使用的是Linux并且$HOME/bin已经PATH,那么这样做可以避免编辑PATH。缺点是它会使以后的卸载变得更加困难,因为R会在你的其他$HOME内容中混合使用。

这种通用模式适用于您可以从源代码安装的大量Unix软件。如果软件有configure脚本,它可能理解--prefix选项,如果没有,通常会有一些替代效果相同。

出于多种原因,这些功能很常见。您的案例 - 无法让root将软件安装到典型位置,以便安装到$HOME - 实际上是此类功能最不常见的用途之一。以下是一些更常见的用例:

  • 情况可能会指定比标准默认值(/usr/local)更好的位置,例如/usr/opt/$PKGNAME等。

  • 二进制包构建系统(RPM,DEB,PKG,Cygport ...)通常会将包构建并安装到一个特殊的临时目录中,然后将其打包,使其扩展到所需的安装位置

查看这些链接

https://unix.stackexchange.com/questions/149451/install-r-in-my-own-directory http://onertipaday.blogspot.be/2008/04/r-installing-on-unixlinux-no-root.html

否则

您可以使用虚拟设备,通过虚拟根访问虚拟安装应用程序

答案 1 :(得分:1)

您无需从头开始安装R来安装没有root权限的软件包。试试这个:

module load R

(说这是集群上的R,所以现在它在你的路径上,你可以输入R输入它)

export R_LIBS_USER=$HOME/apps/R:$R_LIBS_USER

(你仍然在Linux命令行上,而不是在R中)

R

(现在你输入R)

install.packages("packagename")

干得好,它会将软件包安装到HOME / apps / R

library(packagename)

(尝试并看到它有效)