R install.packages错误:本地回购使用疑难解答
我刚刚创建了一个包(R install.packages错误:本地回购使用疑难解答,r,R,我刚刚创建了一个包(RTIO)和一个包存储库(Q:/integratedplanning/R),这是一个公司网络驱动器 我已将我的包放入文件夹: Q:/integratedplanning/R/bin/windows/contrib/2.15/RTIO_0.1-2.zip 根据Derk在SO中的说明,我运行了以下命令: > setwd("Q:/Integrated Planning/R/bin/windows/contrib/2.15") > tools::write_PACKAGE
RTIO
)和一个包存储库(Q:/integratedplanning/R
),这是一个公司网络驱动器
我已将我的包放入文件夹:
Q:/integratedplanning/R/bin/windows/contrib/2.15/RTIO_0.1-2.zip
根据Derk在SO中的说明,我运行了以下命令:
> setwd("Q:/Integrated Planning/R/bin/windows/contrib/2.15")
> tools::write_PACKAGES(".", type="win.binary")
> list.files()
[1] "PACKAGES" "PACKAGES.gz" "RTIO_0.1-2.zip"
>
使用下面的代码,我已将本地存储库添加到我的回购列表中(我将让其他用户也这样做):
现在尝试安装我的软件包时,我遇到一个错误:
> install.packages("RTIO")
Installing package(s) into ‘C:/Program Files/R/R-2.15.1/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
unable to access index for repository Q:/Integrated Planning/R/bin/windows/contrib/2.15
Warning in install.packages :
unable to access index for repository Q:/Integrated Planning/R/bin/windows/contrib/2.15
Warning in install.packages :
unable to access index for repository Q:/Integrated Planning/R/bin/windows/contrib/2.15
Warning in install.packages :
package ‘RTIO’ is not available (for R version 2.15.1)
无法访问存储库的索引告诉我什么?我怎样才能修好它
我真正想做的是,在Windows下,使用RStudio作为IDE,让其他内部R用户添加这个包repo,这样他们就能够运行像install.packages(“RTIO”)
或update.packages()
这样的命令来获得包的新版本(并且可能还能够使用IDE通过GUI管理包)
更新:
多亏了agstudy的回答,我又向前迈进了一步。这是我得到的结果
> getOption("repos")
CRAN CRANextra
"http://cran.ms.unimelb.edu.au/" "http://www.stats.ox.ac.uk/pub/RWin"
> setRepositories(addURLs=c(RioTintoIronOre = "file://Q:/Integrated Planning/R"))
--- Please select repositories for use in this session ---
1: + CRAN
2: + CRAN (extras)
3: BioC software
4: BioC annotation
5: BioC experiment
6: BioC extra
7: Omegahat
8: R-Forge
9: rforge.net
Enter one or more numbers separated by spaces, or an empty line to cancel
1:
> getOption("repos")
RioTintoIronOre
"file://Q:/Integrated Planning/R"
> install.packages("RTIO")
Installing package(s) into ‘C:/Program Files/R/R-2.15.1/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
cannot open compressed file '//Q:/Integrated Planning/R/bin/windows/contrib/2.15/PACKAGES', probable reason 'No such file or directory'
Error in install.packages : cannot open the connection
后续问题:
当我使用setRepositories()
时,为什么会提示我选择存储库
当我在没有输入数字的情况下点击“回车”,并选中getOption(“repos”)
时,它只显示文件://Q:/integratedplanning/R
存储库。这是为什么
当我安装.packges(“RTIO”)
时,它似乎找到了该文件,但给出了一个警告无法打开压缩文件
和一个错误无法打开连接
。注意上面列表.files()
的输出。知道为什么吗
您出现警告“无法访问存储库的索引” 因为
install.packages
尝试访问远程存储库中的自定义软件包(无本地)
要解决此问题,您需要将本地存储库添加到R-optionsrepos
。
您需要将其添加为url路径,而不是文件路径。类似于文件://
这样做:
setRepositories(addURLs=c(lRioTintoIronOre = "file://Q:/Integrated Planning/R"))
要检查是否全部正确,必须返回以下值:
repos <- contrib.url(getOption('repos'))
length(grep("^file:", repos)) > 0L
回购0L
为了避免此消息:
Warning in install.packages : cannot open compressed file '//Q:/Integrated Planning/R/bin/windows/contrib/2.15/PACKAGES', probable reason 'No such file or directory'
在
setRepositories
中指定url时,请尝试此操作以删除/
> setwd("Q:/Integrated Planning/R/bin/windows/contrib/2.15")
> tools::write_PACKAGES(".", type="win.binary")
> setRepositories(addURLs=c(RioTintoIronOre = "file:Q:/Integrated Planning/R"))
> install.packages("RTIO")
抱歉,Tyler,我不明白这个问题有什么关系。这个问题是关于构建程序包的过程,这个问题是关于从本地存储库安装。请注意,我需要通过
安装。程序包-我不希望此程序包的用户使用类似devtools
的任何东西。我误解了问题。我删除了评论。我很确定你应该在Q:/Integrated Planning/R
中找到包
,而不是windows特定目录。嘿,伙计,非常感谢你的回答。这似乎让我更接近了,但现在遇到了一些其他问题。我已经用详细信息更新了我的问题。seTrepositions
不会在会话之间保持不变,因此我已更改了我的r配置文件.site
以永久添加本地repo。(在文件本身中找到了有关如何执行此操作的说明)。现在,当我键入getOption(“repo”)时
在一个新的会话中,除了CRAN和CraneExtra之外,它还向我显示了本地回购协议。也就是说,我仍然会遇到错误,但至少现在是不同的错误。
> setwd("Q:/Integrated Planning/R/bin/windows/contrib/2.15")
> tools::write_PACKAGES(".", type="win.binary")
> setRepositories(addURLs=c(RioTintoIronOre = "file:Q:/Integrated Planning/R"))
> install.packages("RTIO")