Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何确定我在OS X上的R安装是否具有--启用-R-shlib“;选项启用?_Ruby_R_Installation_Gem - Fatal编程技术网

Ruby 如何确定我在OS X上的R安装是否具有--启用-R-shlib“;选项启用?

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主目录的原因,这似

我已经通过.pkg方法在我的OSX机器上安装了R。我试图让一个名为RSRuby的Ruby gem工作,尽管它安装正确,但在我尝试调用gem时,它抛出了一个错误

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
简而言之:

  • 通过查看生成的R构建的二进制文件,可以检查是否存在
    --enable-R-shlib
    ;在Linux上,我可以执行
    ldd/usr/lib/R/bin/exec/R
    ,这表明
    libR.so
    ——共享R库——是由这个二进制文件加载的。这就是其他嵌入R(RInside、littler、R-in-Apache模块等)的项目所使用的,也可能是RSRuby所使用的

  • 如果出现错误“未定义R home directory”,我将首先定义环境变量
    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