Ruby 如何确定我在OS X上的R安装是否具有--启用-R-shlib“;选项启用?
我已经通过.pkg方法在我的OSX机器上安装了R。我试图让一个名为RSRuby的Ruby gem工作,尽管它安装正确,但在我尝试调用gem时,它抛出了一个错误Ruby 如何确定我在OS X上的R安装是否具有--启用-R-shlib“;选项启用?,ruby,r,installation,gem,Ruby,R,Installation,Gem,我已经通过.pkg方法在我的OSX机器上安装了R。我试图让一个名为RSRuby的Ruby gem工作,尽管它安装正确,但在我尝试调用gem时,它抛出了一个错误 Fatal error: R home directory is not defined RSRuby文档声明R应该与选项--enable-R-shlib一起安装。但是R文档声明MacOSX安装默认情况下会这样做。如果您不知道在安装过程中显式调用了此选项,如何验证此选项是否已在安装中启用 我正在寻找RSRuby找不到R主目录的原因,这似
Fatal error: R home directory is not defined
RSRuby文档声明R应该与选项--enable-R-shlib一起安装。但是R文档声明MacOSX安装默认情况下会这样做。如果您不知道在安装过程中显式调用了此选项,如何验证此选项是否已在安装中启用
我正在寻找RSRuby找不到R主目录的原因,这似乎是最可能的问题
根据RSRuby文档,我将其复制到我的主目录中
[~]$ R_HOME=/Library/Frameworks/R.framework/Resource
从R控制台,这是输出:
> R.home()
[1] "/Library/Frameworks/R.framework/Resources"
在gem安装期间,我运行了以下命令:
gem install rsruby -- --with-R-dir=$R_HOME=/Library/Frameworks/R.framework/Resources
此外,以下是我的/Library/Frameworks/R.framework/Libraries文件夹的内容:
[Libraries]$ ls
i386 libRblas.dylib.dSYM libgfortran.2.dylib
libR.dylib libRblas.vecLib.dylib libreadline.5.2.dylib
libR.dylib.dSYM libRlapack.dylib libreadline.dylib
libRblas.0.dylib libRlapack.dylib.dSYM ppc
libRblas.dylib libgcc_s.1.dylib x86_64
简而言之:
--enable-R-shlib
;在Linux上,我可以执行ldd/usr/lib/R/bin/exec/R
,这表明libR.so
——共享R库——是由这个二进制文件加载的。这就是其他嵌入R(RInside、littler、R-in-Apache模块等)的项目所使用的,也可能是RSRuby所使用的R\u home
编辑:关于问题1,在OSX上,您的动态库以
.dylib
结尾。因此,您显示的目录清单清楚地表明,R是使用--enable-R-shlib
作为编译时选项构建的。关于问题2,我在rsruby os x
上获得的第一次谷歌点击清楚地描述了如何在os x上设置R\u HOME
(正如我告诉过你的),请参见。我在原始问题中澄清了我的过程(本来应该这样做的)我相信我已经找到了OSX版本的/usr/lib/R/bin/exec/R。我在上面的问题中发布了它,看起来我缺少libR了。所以。。。。这可能是问题所在吗?谢谢。现在我知道我有了--enable-R-shlib,我可以在别处搜索解决方案。我已经阅读了gem作者的github解释,并在我的问题中作为RSRuby文档引用了它。安装的第一步是确保在安装过程中启用了--enable-R-shlib,在您为我回答之前我还不清楚。我已经定义了R_HOME变量(如上面的R.HOME()信息所示)。我现在必须继续阅读自述中建议的其他解决方案。再次感谢。发现了解决方案。我以为我是在从命令行设置R_HOME变量,现在我的印象是它不是这样工作的。我将“export R\u HOME=“my/R/HOME”这一行放在我的.bash\u配置文件中,我不再得到“致命错误:未定义R HOME目录”。我必须仔细阅读它为什么会这样工作以及导出意味着什么,但现在我很高兴它能工作。作为参考,OSX相当于ldd
的是otool-L