我正在尝试创建一个独立的 R 安装,可以将其放在 USB 或存档中,并与那些不想费心在计算机上安装 R 和我拥有的所有软件包的同事共享。
我进行了一些研究并发现了以下帖子:
我在我的 Ubuntu 机器上尝试了第二篇和第三篇帖子中的解决方案,将其移动make install
到自定义位置,然后 A)。使用 sed 编辑已安装的 bin/R(如第二篇帖子中所述),或 B)。根据第三篇帖子中的建议修改已安装的 bin/R 的开头。在 Ubuntu 或其他 Linux 上,这会给我一个包含 R 的 bin、lib 和共享文件夹的安装文件夹,这些文件夹应该是独立的,可以移动、放在 USB 上和不同的 Ubuntu 机器上。
我想实现类似的结果,但适用于我的 Macbook Pro 和 OS X。当您在 OS X 中将make install
R 转到自定义位置--prefix
时,您会看到一个名为 lib 的文件夹和一个名为 R.framework 的东西,而不是在 Linux 中看到的三个 bin、lib、share 文件夹。lib 文件夹包含一个名为 pkgconfig 的文件夹,其中包含一个名为 libR.pc 的文件。R.framework 包含一些符号链接和一个 Versions 目录。这个 Versions 目录包含一个名为 Current 的符号链接,然后是一系列包含各种版本 R 的文件夹。每个版本文件夹都包含一个名为 Headers 的符号链接、一个名为 PrivateHeaders 的符号链接(包含大量头文件)和一个名为 Resources 的符号链接。最后,这个 Resources 文件夹包含 bin、etc、share 等文件夹,就像 R 源文件夹一样。
我不熟悉这个 OS X 结构。所以我想知道,既然我已经make install
将 R 编辑到 OS X 上的本地文件夹,我需要做什么?我认为原则上它应该像 Linux 的修复一样 - 编辑 bin/R 脚本 R_ROOT_DIR 中的路径。但是,我不熟悉这些 .framework 的东西,在 Linux 中,你有一个包含三个目录的本地文件夹,理解和编辑路径非常简单。
非常感谢任何建议/解决方案!
谢谢,本。
答案1
看起来至少可以开始做这件事。获取 R 3.2.1 源代码并解压后,我做了以下操作:
mkdir localinstall
./configure --prefix=`pwd`/localinstall \
--without-tcltk \
--with-cairo \
--without-aqua \
--without-x \
--enable-R-shlib \
--disable-R-framework
在 vanilla OS X 系统上(通过 VMware Fusion)。系统上没有其他 R 安装。
为了使其与配置一起工作,您需要更改脚本.app
中的环境变量。bin/R
R_HOME_DIR
R_SHARE_DIR
R_INCLUDE_DIR
R_DOC_DIR
Rscript
需要一些注意(目录在该二进制文件中被硬编码)但您可以对其进行调整以在应用程序内部工作,前提是您获得了应用程序将使用的所有其他支持包,并且安装完毕后不会出现问题。