无法使用 install.packages 安装 R-forge 包
Posted
技术标签:
【中文标题】无法使用 install.packages 安装 R-forge 包【英文标题】:Cannot install R-forge package using install.packages 【发布时间】:2012-06-21 17:42:56 【问题描述】:This, question, is, asked, over, and, over, and, over, 在R-sig-finance 邮件列表中,但我认为在*** 上没有被问到。
是这样的:
我在哪里可以获得 R-forge 上托管的最新版本的包 XYZ?我尝试使用install.packages
安装它,但结果是这样的:
> install.packages("XYZ",repos="http://r-forge.r-project.org")
Warning message: package ‘XYZ’ is not available (for R version 2.15.0)
查看 XYZ 的 R-forge 网站,我发现该包无法构建。
因此,没有下载源的链接。有没有其他方法
获取源代码?一旦我得到源代码,我怎么能把它变成一个
我可以使用library("XYZ")
加载的包?
【问题讨论】:
干得好——我们不妨把它变成一个支持维基。 'r-forge' 标签,也许吧? @DirkEddelbuettel 去吧。我认为我没有足够的代表来做那种事情。 我认为您只是编辑并因此创建了一个新标签。通过在越来越多的问题上使用它,它将变得合法。或者我希望如此。 哈!我刚刚达到了 1500 个代表,当我达到时,我获得了“创建标签”特权 谢谢你,@GSee。所以。更容易搜索,我知道它一定被问了无数次。 【参考方案1】:或者,您可以从 GitHub 安装特定的包,如果它在 GitHub 上有一个 repo。
我跑了install.packages('ggfortify')
,得到了
警告消息:“包‘ggfortify’不可用(对于 R 版本 3.3.2)”
ggfortify 是同一包的 GitHub 存储库。
devtools
库允许您使用install_github('username/repo')
直接从 GitHub 安装包。
library(devtools)
install_github('sinhrks/ggfortify')
【讨论】:
【参考方案2】:如果(且仅当)您拥有适合您的操作系统的工具链,那么这可能会成功:
# First download source file to your working directory
# As an example use browser to download pkg:partykit from:
# http://download.r-forge.r-project.org/src/contrib/partykit_1.1-2.tar.gz
# Move to working directory
# Or in the case of returnanalytics (which is a bundle of packages):
# http://r-forge.r-project.org/R/?group_id=579 and download the tar.gz (source)
# Then in R:
install.packages( "partykit_1.1-2.tar.gz", repo=NULL, type="source")
# for the first of the ReturnAnalytics packages:
install.packages( "Dowd_0.11.tar.gz", repo=NULL, type="source")
这些方向应该是“跨平台”。 我不确定已接受答案中的说明是否适用于 Mac (OSX)。 (我后来证实他们确实在 Mac 上“工作”,但发现这个过程比我上面建议的更复杂。他们确实产生了一个目录,其中包含的包的形式应该以R --vanilla CMD INSTALL --build pathToEachPackageSeparately
成功)
【讨论】:
【参考方案3】:您尝试安装的软件包的当前版本也可能需要更新版本的 R,例如,您可能会看到如下错误:
“错误:此 R 版本为 2.15.0,包 'PerformanceAnalytics' 需要 R >= 3.0.0”
然后你可以尝试更新你的 R
或者,如果你遇到和我一样的情况,正在尝试使用 pqR(目前使用 R 版本 2.15),你可以在这里找到过期的实现包:
http://cran.at.r-project.org/src/contrib/Archive/PerformanceAnalytics/
您可以从 R-Forge 软件包页面获取此处 -> “稳定版本:从 CRAN 获取 PerformanceAnalytics 1.4.3541” -> 旧来源:PerformanceAnalytics 存档
例如,您会发现包 PerformanceAnalytics 版本 1.1.0 只需要 R >= 2.14
祝你好运
【讨论】:
【参考方案4】:R-Forge 可能由于几个不同的原因无法构建包。可能是这样 文档尚未更新以反映代码中的最新更改。要么, 可能是某些依赖项在构建时不可用。
您可以使用 svn 查看源代码。首先,在网站上搜索项目 R-Forge 网站并转到项目主页 -- 例如http://r-forge.r-project.org/projects/returnanalytics/ 点击 SCM 链接进入类似这样的页面http://r-forge.r-project.org/scm/?group_id=579
此页面将告诉您用于签出项目的命令。在这种情况下,您会得到
可以使用以下命令通过匿名访问签出此项目的 SVN 存储库。
svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/
如果您使用的是 Windows,您可能需要下载并安装 TortoiseSVN
安装 TortoiseSVN 后,您可以在 Windows 资源管理器窗口中右键单击并选择 “SVN 结帐”。在“存储库的 URL:”字段中,输入除 “svn checkout”是您在 R-Forge 上找到的命令的一部分。在这种情况下,你会 输入“svn://svn.r-forge.r-project.org/svnroot/returnanalytics/”。
点击确定后,项目将下载到当前目录。
如果您使用的是类似 UNIX 的系统(或者如果您安装了命令行客户端工具 当你为 Windows 安装 TortoiseSVN 时,这不是默认的),你可以 在您的终端(系统终端,而不是 R 终端)中输入 R-forge 给您的命令
svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/
这将在当前工作目录下创建一个新目录 包含包中的所有文件。在该目录的顶层 将是一个名为“pkg”的子目录。这个特定的项目(returnanalytics) 包含多个包。
ls returnanalytics/pkg
#FactorAnalytics MPO PApages PerformanceAnalytics PortfolioAnalytics
但是一些 R-forge 项目只有一个包。例如
svn checkout svn://svn.r-forge.r-project.org/svnroot/random/
#Checked out revision 14.
ls random/pkg
#DESCRIPTION inst man NAMESPACE R
现在您已经在本地复制了所有代码,如果您希望能够 安装包,你必须先构建它。
注意事项:由于 R-Forge 未能构建软件包,因此很有可能 包有问题。因此,如果您只是构建它,您可能会发现 有些事情没有按预期工作。特别是,很可能有 缺少或不完整的文档。
如果您使用的是类似 UNIX 的系统,则可以相对轻松地构建和安装该软件包。对于像 returnanalytics 这样的多包项目,如果你想安装,例如这 PortfolioAnalytics 包,你可以这样做
R --vanilla CMD INSTALL --build returnanalytics/pkg/PortfolioAnalytics
“PortfolioAnalytics”是包含包的目录的名称 你想构建/安装。对于单包项目,您可以像这样构建和安装 这个
R --vanilla CMD INSTALL --build random/pkg
如果您想在 Windows 上构建/安装软件包,请参阅 this question 并遵循 @JoshuaUlrich 提供的 two links
更多信息请访问R Installation and Administration、the R-Forge User Manual和the SVN manual。
【讨论】:
--vanilla
的使用可能不是必需的,具体取决于 .Rprofile 中的内容。见***.com/a/11639336
INSTALL --build
构建包的二进制版本,但不安装它。另外,install.packages("XYZ",repos="http://r-forge.r-project.org", type = "source")
会更容易
@hadley R CMD build 构建一个包而不安装它。 R CMD INSTALL --build 确实安装它;自己试试。至于install.packages(..., repos="http://r-forge...", type="source")
,或许你应该再看一遍问题。
哇,确实如此。文档很不清楚! (我没有看到使用R CMD build
构建二进制包的选项)为什么需要--build
来回答这个问题?我也不明白为什么install.packages + type = "source"
比 svn checkout + R CMD install
更糟糕
svn checkout + install.packages
和 repos=NULL
很好,但由于我们已经在命令行上使用 svn checkout
部分,所以我只是从那里安装它。这是关于--build
的一个非常好的问题。我认为R CMD INSTALL --build myPackage
相当于R CMD build myPackage
后跟R CMD INSTALL myPackage_1.0.tar.gz
。但是,经过一些测试,我发现它们并不相同——.Rbuildignore
似乎与R CMD INSTALL --build myPackage
不相符。以上是关于无法使用 install.packages 安装 R-forge 包的主要内容,如果未能解决你的问题,请参考以下文章
在运行 install.packages() 之前检查已安装的软件包 [重复]
R软件安装程序包install.packages("TSA"),提示(因为‘lib’没有被指定),怎么解决,急求,谢谢!!!
pip 安装TensorFlow Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。:
Error in install.packages : cannot remove prior installation of package