如何从源代码安装R包?

如何从源代码安装R包?,r,package,installation,r-faq,R,Package,Installation,R Faq,我的一个朋友给我发来了这本关于英语的很棒的教程。我真的很想试试。然而,第一步是从源代码安装一个名为RJSONIO的包 我对R相当了解,但我不知道如何从源代码安装软件包 我正在运行Mac OSX。如果文件在本地,请使用install.packages并将repos=NULL设置为: 其中,路径\到\文件将表示完整路径和文件名: 在Windows上,它看起来像这样:C:\\RJSONIO\u 0.2-3.tar.gz。 在UNIX上,它将如下所示:/home/blah/RJSONIO_0.2-3.t

我的一个朋友给我发来了这本关于英语的很棒的教程。我真的很想试试。然而,第一步是从源代码安装一个名为RJSONIO的包

我对R相当了解,但我不知道如何从源代码安装软件包


我正在运行Mac OSX。

如果文件在本地,请使用install.packages并将repos=NULL设置为:

其中,路径\到\文件将表示完整路径和文件名:

在Windows上,它看起来像这样:C:\\RJSONIO\u 0.2-3.tar.gz。 在UNIX上,它将如下所示:/home/blah/RJSONIO_0.2-3.tar.gz。
下载源程序包open Terminal.app,导航到您当前拥有该文件的目录,然后执行:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

请注意,只有在以下情况下,此操作才会成功:a包不需要编译,或b存在编译所需的系统工具。请参阅:

您可以直接从存储库安装注意类型=源:


此外,您可以使用-binary选项构建二进制软件包

R CMD build --binary RJSONIO_0.2-3.tar.gz

对于从源代码安装旧版本的软件包,这是一个方便但琐碎的补充提示

首先,如果调用install.packages,它总是从repo安装最新的包。如果要安装较旧版本的软件包,例如为了兼容性,可以调用install.packagesurl\u to\u source,repo=NULL,type=source。例如:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")
无需手动将软件包下载到本地磁盘并切换到命令行或从本地磁盘安装,我发现它非常方便,并且简化了一步调用

另外:您可以在devtools库的dev_模式下使用此技巧,以便管理不同版本的软件包:

参考:

,您可以直接从github存储库地址安装。所以如果你想在https://github.com/twitter/AnomalyDetection:


成功了。

我尝试了这个,但出现了一个错误:*安装源程序包“RJSONIO”…**libs**arch-i386 sh:make:command not found错误:在第3行停止的包'RJSONIO'的编译失败*删除'/Library/Frameworks/R.framework/Versions/2.9/Resources/Library/RJSONIO'下载的包位于'/private/var/folders/Ey/eyzhyjoksmsmssz6k87peu+++TI/-Tmp-/Rtmpe3C96p/下载的包'更新中“.Library”中程序包的HTML索引警告消息:在install.packagesRJSONIO中,repos=,:程序包“RJSONIO”的安装具有非零退出状态是否已安装开发人员工具?它们来自Mac OS X安装dvd。因为这个包有C代码,你需要一个编译器来从源代码安装它。我怀疑我没有安装开发工具。至少,我不记得安装过。谢谢如果您在windows上执行此操作,您可以从。。。确保在安装时选中“更新路径”框,该框可能有点难以阅读。。。。刚刚选中了弹出的未选中框,我尝试了此操作,但出现了一个错误:Madjoro MacBook Pro:~Madjoro$R CMD INSTALL RJSONIO_0.2-3.tar.gz警告:无效的包'RJSONIO_0.2-3.tar.gz'错误:没有指定包您必须指定.tar.gz文件的正确路径,并且需要XCode工具。是否有办法构建源代码中的binary.zip?找到解决方案后,您需要使用-binary选项。由于键入了install而不是install,您来过这里多少次?R CMD build-binary已被弃用;使用R CMD INSTALL-build instead这是非常密切相关的:如果文件名和路径是R包的本地源存储库,这也可以使用。注意,INSTALL\u opts选项可用于将选项传递给R CMD INSTALL。例如-no-multiarchinstall.packages/tmp/shinny_0.13.1.tar.gz,repos=NULL,type=source,我得到这个错误:-ksh:syntax error:`unexpectedAs@Cerin指出,您必须处理扩展。我有一个错误,因为'lib'在R中未指定,带有.zip存档。将扩展名更改为.tar后,一切都很好。值得注意的是,因为repos=NULL,所以这种方法不会安装依赖项,例如来自CRAN的依赖项。建议使用devtools::install_localpath_to_文件,这对我来说更简单,提供的参数更少,安装依赖项也更好。
R CMD build --binary RJSONIO_0.2-3.tar.gz
install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")
library(devtools)
install_github("twitter/AnomalyDetection")