e相同版本的R和相同的操作系统)

e相同版本的R和相同的操作系统),r,installation,repository,package,r-faq,R,Installation,Repository,Package,R Faq,出于某种原因,该软件包仍然存在,但安装包只查看更新(且不兼容)的版本。解决方案是找到兼容版本的URL并强制安装.packages,如下所示: install.packages("https://cran.r-project.org/src/contrib/Archive/XML/XML_3.99-0.3.tar.gz", repos=NULL, type="source", ask=FALSE) 当我使用bioconductor作为源,然后调用BioLi

出于某种原因,该软件包仍然存在,但安装包只查看更新(且不兼容)的版本。解决方案是找到兼容版本的URL并强制安装.packages,如下所示:

install.packages("https://cran.r-project.org/src/contrib/Archive/XML/XML_3.99-0.3.tar.gz", repos=NULL, type="source", ask=FALSE)

当我使用bioconductor作为源,然后调用BioLite时,它几乎总是适用于我。例如:

source("https://bioconductor.org/biocLite.R")
biocLite("preprocessCore")

这节省了我很多时间调试出了什么问题。在许多情况下,镜子已经过时了。此函数可以使用
https://cran.rstudio.com/

packages <- function(pkg){
    new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
    if (length(new.pkg))
        install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/')
    sapply(pkg, require, character.only = TRUE)
}

packages(c("foo", "bar", "baz"))
packages在最新的R(3.2.3)中有一个bug,有时会阻止它找到正确的包。解决方法是手动设置存储库:

install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')

中找到解决方案
R和
libcurl
的某些版本似乎存在问题。我在
Mac(R版本3.2.2)
Ubuntu(R版本3.0.2)
上遇到了同样的问题,在这两种情况下,都是通过在
install.packages
命令之前运行此命令来解决的

options(download.file.method = "wget")

该解决方案是由一位朋友提出的,但是,我在任何论坛上都找不到,因此我将此答案提交给其他人

我在Ubuntu上通过仔细地遵循。这包括:

  • 添加
    debhttp://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/
    到我的/etc/apt/sources.list文件
  • 正在运行
    sudo apt get update
  • 正在运行
    sudo apt get install r-base-dev

  • 对于步骤1,如果您愿意,可以选择任何CRAN下载镜像代替我的多伦多大学镜像。

    < P>另一个次要添加,同时尝试使用DOCKER图像<代码> ROKER /R FER:3.1.0< /代码>

    测试旧R版本。
  • 默认的
    repos
    设置是
    MRAN
    ,这无法获得许多包
  • 该版本的R没有https,例如:
    install.packages(“knitr”,repos=”https://cran.rstudio.com“
    似乎有效
  • 如前所述(法语),当您的计算机上安装了两个版本的R时,可能会发生这种情况。卸载最旧的软件包,然后再次尝试安装软件包!它对我来说工作得很好。

    我也有同样的问题(在Linux上),通过更改代理设置可以解决。 如果您在代理服务器后面,请使用R中的
    Sys.getenv(“http\u proxy”)
    检查配置。 在我的
    ~/.Renviron
    中,我有以下几行代码导致了问题:

    http_proxy=https://proxy.dom.com:port
    http_proxy_user=user:passwd
    
    改成

    http_proxy="http://user:passwd@proxy.dom.com:port"
    
    解决了这个问题。对于
    https
    ,您也可以这样做

    当我读到“xxx包不适用于r版本-x-y-z”时,这并不是第一个想法


    HTH

    当我收到同样的警告时,我终于可以在R-3.4.1中安装psych软件包了

    1:谷歌搜索了那个包裹

    2:手动下载,扩展名为tar.gz

    3:为R中的安装包选择选项“包存档文件(.zip;.tar.gz)”

    4:本地浏览到下载位置并单击“安装”

    您可能会收到一条警告:依赖项“xyz”不适用于该软件包,请先从存储库安装这些依赖项,然后执行步骤3-4
    .

    在从源代码安装R包时,我犯了一个错误,忘了将
    repos=NULL
    。在这种情况下,错误消息有点误导性:
    包'foobarbaz'不可用(对于R版本x.y.z)

    问题不在于R的版本,而在于
    repos
    参数。我确实安装了.packages('path/to/source/code/of/foobarbaz',type='source',repos=NULL),在这种情况下它对我很有用


    希望这对某人有所帮助。

    此解决方案可能会破坏R,但这里有一个最简单的解决方案,99%的时间都有效

    您需要做的只是:

    install.packages('package-name',repos='http://cran.us.r-project.org')
    

    正如作者在

    中提到的,另一个原因+解决方案

    我在我公司的HPC上尝试在我的RStudio中安装pkgdown时遇到此错误(“软件包XXX不适用于R版本X.X.X”)

    事实证明,他们在HPC上的CRAN快照是从2018年1月开始的(几乎有2年了),事实上,pkgdown当时并不存在。这是为了控制外行用户的软件包源,但作为开发人员,在大多数情况下,您可以通过以下方式进行更改:

    ## checking the specific repos you currently have
    getOption("repos")
    
    ## updating your CRAN snapshot to a newer date
    r <- getOption("repos")
    r["newCRAN"] <- "https://cran.microsoft.com/snapshot/*2019-11-07*/"
    options(repos = r)
    
    ## add newCRAN to repos you can use
    setRepositories()
    
    ##检查您当前拥有的特定回购
    收购期权(“回购”)
    ##将您的CRAN快照更新到较新的日期
    R
    
  • 访问
  • 使用
    Ctrl
    +
    F
  • 单击包名称
  • 确定要安装的版本
  • 开放式RStudio
  • 键入“
    install.packages(”https://cran.r-project.org/src/contrib/Archive/[软件包名称]/[版本号].tar.gz”,repos=NULL,type=“source”)

  • 在某些情况下,您需要提前安装几个软件包才能使用您想要使用的软件包

    例如,我需要安装7个软件包(
    Sejong
    hash
    rJava
    tau
    RSQLite
    devtools
    stringr
    )来安装
    KoNLP
    软件包

    library(installr)
    updateR()
    
    install.packages('Sejong')
    install.packages('hash')
    install.packages('rJava')
    install.packages('tau')
    install.packages('RSQLite')
    install.packages('devtools')
    install.packages('stringr')
    
    library(Sejong)
    library(hash)
    library(rJava)
    library(tau)
    library(RSQLite)
    library(devtools)
    library(stringr)
    
    install.packages("https://cran.r-project.org/src/contrib/Archive/KoNLP/KoNLP_0.80.2.tar.gz", repos = NULL, type="source")
    library(KoNLP)
    

    我发现@Richie Cotton的优秀解决方案与#6包装有轻微差异,已过时

    有时,软件包维护人员可能会显示其不支持的R版本差异。在这种情况下,您至少有两个选项:1)将您的R版本升级到目标软件包已支持的下一个版本,2)从可用的旧版本安装最新版本,该版本将与您的R版本一起使用

    一个具体的例子:用于数据挖掘的最新CRAN版本包
    Cragg
    ,5.3.0,不支持R版本3.4,因为它在包版本5.2.0(R>=2.13.0)和5.3.0(R>
    library(remotes)
    install_github("cran/foobarbaz")
    
    install.packages("foobarbaz", type = "source")
    
    # Or equivalently, for Bioconductor packages:
    source("http://bioconductor.org/biocLite.R")
    biocLite("foobarbaz", type = "source")
    
    library(remotes)
    install_github("packageauthor/foobarbaz")
    install_bitbucket("packageauthor/foobarbaz")
    install_gitorious("packageauthor/foobarbaz")
    
    options(install.packages.check.source = "no")
    
    install.packages("Rbbg", repos = "http://r.findata.org")
    
    Depends: R (>= 3.1.1)
    
    install.packages("foo", type="source", repos=NULL)
    
    install.packages("https://cran.r-project.org/src/contrib/Archive/XML/XML_3.99-0.3.tar.gz", repos=NULL, type="source", ask=FALSE)
    
    source("https://bioconductor.org/biocLite.R")
    biocLite("preprocessCore")
    
    packages <- function(pkg){
        new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
        if (length(new.pkg))
            install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/')
        sapply(pkg, require, character.only = TRUE)
    }
    
    packages(c("foo", "bar", "baz"))
    
    install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')
    
    options(download.file.method = "wget")
    
    http_proxy=https://proxy.dom.com:port
    http_proxy_user=user:passwd
    
    http_proxy="http://user:passwd@proxy.dom.com:port"
    
    install.packages('package-name',repos='http://cran.us.r-project.org')
    
    ## checking the specific repos you currently have
    getOption("repos")
    
    ## updating your CRAN snapshot to a newer date
    r <- getOption("repos")
    r["newCRAN"] <- "https://cran.microsoft.com/snapshot/*2019-11-07*/"
    options(repos = r)
    
    ## add newCRAN to repos you can use
    setRepositories()
    
    install.packages('Sejong')
    install.packages('hash')
    install.packages('rJava')
    install.packages('tau')
    install.packages('RSQLite')
    install.packages('devtools')
    install.packages('stringr')
    
    library(Sejong)
    library(hash)
    library(rJava)
    library(tau)
    library(RSQLite)
    library(devtools)
    library(stringr)
    
    install.packages("https://cran.r-project.org/src/contrib/Archive/KoNLP/KoNLP_0.80.2.tar.gz", repos = NULL, type="source")
    library(KoNLP)
    
    library("devtools")
    install_version("rattle", version = "5.2.0", repos = "http://cran.us.r-project.org")