一位朋友向我发送了这个关于使用 R 进行 网络抓取 纽约时报 的精彩教程。我真的很想尝试一下。但是,第一步是从源安装一个名为 [RJSONIO][2] 的包。
我对 R 相当了解,但我不知道如何从源代码安装包。
我运行的是 macOS (OS X)。
如果您本地有该文件,则使用
install.packages()
并设置 repos=NULL
:
install.packages(path_to_file, repos = NULL, type="source")
其中
path_to_file
代表完整路径和文件名:
"C:\\RJSONIO_0.2-3.tar.gz"
。"/home/blah/RJSONIO_0.2-3.tar.gz"
。下载源码包,打开Terminal.app,定位到当前文件所在目录,然后执行:
R CMD INSTALL RJSONIO_0.2-3.tar.gz
请注意,只有在以下情况下才会成功:a)包不需要编译或b)存在编译所需的系统工具。请参阅:R(适用于 Mac OS X)
您可以直接从存储库安装(注意
type="source"
):
install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")
从源代码安装旧版本软件包的补充方便(但微不足道)的提示。
首先,如果您调用“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
从CRAN,您可以直接从GitHub存储库地址安装。因此,如果您想要
https://github.com/twitter/AnomalyDetection
处的包裹,请使用
library(devtools)
install_github("twitter/AnomalyDetection")
就可以了。
此外,您可以使用
--binary
选项构建二进制包。
R CMD build --binary RJSONIO_0.2-3.tar.gz
如果您有自己编写、从 GitHub 下载(克隆)的源代码,或者从其他来源复制或移动到您的计算机,则安装包/库的一种简单方法是:
就这么简单:
# install.packages("devtools")
devtools::install('path/to/package')
从这里,您可以克隆 GitHub 存储库并使用以下命令进行安装:
git clone https://github.com/user/repo.git
R -e "install.packages('devtools');devtools::install('path/to/package')"
或者,如果您已经安装了开发工具,您可以跳过第一部分,只需克隆存储库并运行:
R -e "devtools::install('path/to/package')"
请注意,如果您使用的是 ubuntu,请在安装 devtools 之前安装这些系统库(否则 devtools 将无法正确安装)。
apt-get update
apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev -y