一位朋友给我发送了这篇关于如何用R进行网络抓取纽约时报的精彩教程。我真的很想尝试一下。但是,第一步是从源代码安装一个名为RJSONIO的软件包。

我对R很了解,但是我不知道如何从源代码安装一个软件包。

我正在运行Mac OSX。

评论

这是非常相关的:stackoverflow.com/questions/11105131/…

#1 楼

如果您在本地拥有文件,则使用install.packages()并设置repos=NULL

install.packages(path_to_file, repos = NULL, type="source")


其中path_to_file代表完整路径和文件名:


在Windows上看起来像这样:"C:\RJSONIO_0.2-3.tar.gz"
在UNIX上看起来像这样:"/home/blah/RJSONIO_0.2-3.tar.gz"


评论


如果file_name_and_path是R包的本地源存储库,则这也适用。

– Faheem Mitha
13年5月30日在8:28

注意,INSTALL_opts选项可用于将选项传递给R CMD INSTALL。例如,“-no-multiarch”

–安迪·巴伯(Andy Barbour)
13年7月3日在5:40

install.packages(“ / tmp / shiny_0.13.1.tar.gz”,repos = NULL,type =“ source”)我收到此错误:-ksh:语法错误:`('意外

–iaav
16年7月11日在20:55



正如@Cerin指出的那样,您必须照顾好扩展名。 R带有.zip归档文件时出现错误“(未指定'lib')”。将扩展名更改为.tar后,一切正常。

–穆罕默德·哈桑(Mohamed Hasan)
17年7月7日在10:05

值得注意的是,因为repos = NULL,这种方法不会安装依赖项,例如来自CRAN。这个答案表明devtools :: install_local(path_to_file)对我来说更简单(提供的参数更少)和更好(也安装了依赖项)。

–mac
18-11-15在15:44



#2 楼

下载源程序包,打开Terminal.app,导航到您当前拥有文件的目录,然后执行:

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


请注意,只有当或者:a)程序包不需要编译,或者b)存在编译所需的系统工具。参见:https://cran.r-project.org/bin/macosx/tools/

评论


我尝试了此错误,但遇到了一个错误:Madjoro-MacBook-Pro:〜Madjoro $ R CMD安装RJSONIO_0.2-3.tar.gz警告:无效的软件包'RJSONIO_0.2-3.tar.gz'错误:错误:无软件包指定的

– Madjoro
09年9月24日在22:51

您必须指定.tar.gz文件的正确路径,并且需要XCode工具(developer.apple.com/TOOLS/Xcode)。

–rcs
09年9月26日在21:27

有没有一种方法可以从源代码构建二进制.zip文件?

–haridsv
2010年1月29日,0:23

找到解决方案后,您需要使用--binary选项。

–haridsv
2010年1月29日,0:29

您键入输入install而不是INSTALL来了多少次?

–布兰登·贝特尔森(Brandon Bertelsen)
5月1日18:15

#3 楼

您可以直接从存储库安装(请注意type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")


评论


我尝试了此操作,并收到一个错误:*安装源程序包'RJSONIO'... ** libs ** arch-i386 sh:make:找不到命令错误:程序包'RJSONIO'RM的编译失败在第3行停止*删除' /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO'下载的软件包位于'/ private / var / folders / Ey / EyzhYjoKESmsmsZ6K87PeU +++ TI / -Tmp- / Rtmpe3C96p / downloaded_pa​​ckages'正在更新HTML “ .Library”中软件包的索引警告消息:在install.packages(“ RJSONIO”,repos =“ omegahat.org/R”,:软件包'RJSONIO'的安装具有非零退出状态

– Madjoro
09年9月24日在22:48

您是否安装了开发人员工具?它们来自Mac OS X安装DVD。由于此软件包包含C代码,因此您将需要编译器以从源代码进行安装。

–爱德华多·莱昂尼(Eduardo Leoni)
09年9月24日在23:11

我怀疑我没有安装开发人员工具。 Atleast,我不记得安装它们了。谢谢!

– Madjoro
09年9月24日在23:26

如果您在Windows上执行此操作,则可以从murdoch-sutherland.com/Rtools获取开发人员工具...确保在安装时选中显示更新路径的框(可能有点难以理解... 。只是选中了出现的未选中框)

–丹·戈德斯坦
09年10月6日在15:21

#4 楼

有关从源代码安装旧版本软件包的补充技巧(但微不足道)。首先,如果您调用“ install.packages”,它将始终从回购中安装最新的软件包。如果要安装较旧版本的软件包,例如出于兼容性考虑,可以调用install.packages(“ url_to_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_mode结合使用,以管理不同版本的软件包:

参考:doc devtools

#5 楼

从cran,您可以直接从github存储库地址安装。因此,如果您希望在https://github.com/twitter/AnomalyDetection处打包:

library(devtools)
install_github("twitter/AnomalyDetection")


可以解决问题。

#6 楼

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

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


评论


R CMD build --binary已弃用;使用R CMD INSTALL --build代替

– f3lix
2012年10月10日15:35