在OS X小牛上安装RODBC/ROracle软件包
我一直在尝试安装一些包,如RODBC,ROracle或RGtk2 – 用于拨号。我真的很感激,如果有人可以帮助我解决这个问题,所以我可以使用这些应用程序在Mac与小牛和3.1.1 R
我得到RODBC和RGtk2的这种错误:
当我尝试使用type =’source’时,我可以下载或开始下载,但是我收到这样的错误消息… 警告在install.packages: 这两个包现在需要从源代码(编译)。这意味着您首先需要下载XCode和相关的“命令行工具”,以便您实际上具有编译器。基本上每个版本的操作系统X / XCode,您的操作都有所改变,但如果您开始使用Google搜索,您将可能会着陆here。 一旦你有了… RODBC 由于OS X 10.9(小牛)苹果停止包括iODBC SQL头文件以及 所以如果您尝试在小牛的源码上构建RODBC,您应该会收到如下错误:
要解决这个问题,您需要下载最新版本的iODBC(www.iodbc.org), 那么你应该能够做到 install.packages("RODBC",type = "source") 没有任何问题。大概这也将与其他主要的开源ODBC项目unixODBC一起工作,但我还没有尝试过。 我在El Capitan测试了这个(和另一个答案的自制方法),并且仍然工作。 ROracle 这更复杂然而,ROracle可以安装在OS X上(我已经通过El Capitan在Mountain Lion上测试过)。由于ROracle依赖于Oracle Instant Client,所以没有可用的二进制文件 对于OS X,我们需要(主要)遵循Linux指令。 首先,按照Linuz的说明下载相应的Oracle Instant Client以及SDK。 Linux安装说明提到从RPM安装客户端,这将把所有内容放在正确的位置。我无法弄清这是否适用于OS X,所以我只是将客户端解压到我创建的目录中,并将SDK放在/ sdk中的该目录中。 Linux安装指令然后指示我们为libclntsh.so.11.1创建一个符号链接。以来 ln -s libclntsh.dylib.11.1 libclntsh.dylib 在OS X上,我们然后设置DYLD_LIBRARY_PATH,而不是LD_LIBRARY_PATH: export DYLD_LIBRARY_PATH=/scratch/instantclient_11_2:$DYLD_LIBRARY_PATH 使用任何路径对您的机器是正确的。 我无法让ROracle使用OCI_LIB环境变量进行编译。代替, R CMD INSTALL --configure-args='--with-oci-lib=/scratch/instantclient_11_2' ROracle_1.1-11.tar.gz 再次使用任何路径和ROracle版本号是适当的。 如果使用tnsnames.ora文件连接到Oracle数据库,则还需要 最后一个问题:你可能会发现(就像我这样做),只有当你启动R时,这一切都会奏效 > library("ROracle") Error in dyn.load(file,DLLpath = DLLpath,...) : unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/ROracle/libs/ROracle.so': dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/ROracle/libs/ROracle.so,6): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1 Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/ROracle/libs/ROracle.so Reason: image not found Error: package or namespace load failed for ‘ROracle’ 即使Sys.getenv(“DYLD_LIBRARY_PATH”)忠实地报告也会发生这种情况 一段时间以来,我一起搞了一个“解决方案”,在那里我创建了一个启动的shell脚本 open -a R.app open -a RStudio.app 这个问题显然与环境变量的可用性有关 对于ROracle的El Capitan更新 我现在已经在El Capitan通过了这个坩埚,它的工作原理如上所述,但只有当您首先禁用系统完整性保护时!这样做相当快速,并且可以通过Google轻松找到说明。 唷。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |