Como devo lidar com “pacote ‘xxx’ não está disponível (para R versão xyz)” aviso?

Eu tentei instalar um pacote usando

install.packages("foobarbaz") 

mas recebeu o aviso

 Warning message: package 'foobarbaz' is not available (for R version xyz) 

Por que o R não acha que o pacote está disponível?

Veja também estas questões referentes a instâncias específicas deste problema:

Meu pacote não funciona para R 2.15.2
pacote ‘Rbbg’ não está disponível (para R versão 2.15.2)
pacote não está disponível (para R versão 2.15.2)
pacote doMC NÃO disponível para o aviso da versão R 3.0.0 em install.packages
Dependência ‘Rglpk’ não está disponível para o pacote ‘fPortfolio’
O que fazer quando um pacote não está disponível para a nossa versão R?
O pacote bigvis para R não está disponível para o R versão 3.0.1?
pacote ‘syncwave’ / ‘mvcwt’ não está disponível (para R versão 3.0.2)
pacote ‘diamantes’ não está disponível (para R versão 3.0.0)
O pacote plyr para R não está disponível para a versão R 3.0.2?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Bigmemory pacote não instalando em R 64 3.0.2
pacote “makeR” não está disponível (para a versão 3.0.2)
pacote ‘RTN’ não está disponível (para R versão 3.0.1)
Problema Instalando o pacote geoR
pacote ‘twitterR’ não está disponível (para R versão 3.1.0)
Como instalar o pacote Rcpp? Eu tenho “pacote não está disponível”
pacote ‘dataset’ não está disponível (para R versão 3.1.1)
“pacote ‘rhipe’ não está disponível (para R versão 3.1.2)”
https://stackoverflow.com/questions/31439092/package-dplyr-‐not-available-for-r-version-3-1-1

    1. Você não pode soletrar

    A primeira coisa a testar é se você digitou o nome do pacote corretamente? Nomes de pacotes diferenciam maiúsculas de minúsculas em R.


    2. Você não olhou no repository certo

    Em seguida, você deve verificar se o pacote está disponível. Tipo

     setRepositories() 

    Veja também ? SetRepositories .

    Para ver quais repositorys R procurarão pelo seu pacote e, opcionalmente, selecione alguns adicionais. No mínimo, você geralmente quer que o CRAN seja selecionado, e CRAN (extras) se você usa o Windows, e os repositorys Bioc* se você fizer algum [gen / prote / metabol / transcript] omics análises biológicas.

    Para alterar isso permanentemente, adicione uma linha como setRepositories(ind = c(1:6, 8)) ao seu arquivo Rprofile.site .


    3. O pacote não está nos repositorys selecionados

    Retornar todos os pacotes disponíveis usando

     ap < - available.packages() 

    Veja também Nomes dos pacotes disponíveis de R ,? Available.packages .

    Como esta é uma matriz grande, você pode querer usar o visualizador de dados para examiná-la. Como alternativa, você pode verificar rapidamente se o pacote está disponível, testando os nomes das linhas.

     View(ap) "foobarbaz" %in% rownames(ap) 

    Alternativamente, a lista de pacotes disponíveis pode ser vista em um navegador para CRAN , CRAN (extras) , Biocondutor , R-forge , RForge e github .

    Outra possível mensagem de aviso que você pode receber ao interagir com os espelhos do CRAN é:

     Warning: unable to access index for repository 

    O que pode indicar que o repository CRAN selecionado está atualmente indisponível. Você pode selecionar um espelho diferente com chooseCRANmirror() e tentar a instalação novamente.


    Existem várias razões pelas quais um pacote pode não estar disponível.


    4. Você não quer um pacote

    Talvez você não queira realmente um pacote. É comum ficar confuso sobre a diferença entre um pacote e uma biblioteca , ou um pacote e um dataset.

    Um pacote é uma coleção padronizada de material estendendo R, por exemplo, fornecendo código, dados ou documentação. Uma biblioteca é um lugar (diretório) onde R sabe encontrar pacotes que pode usar

    Para ver os conjuntos de dados disponíveis, digite

     data() 

    5. R ou Bioconductor estão desatualizados

    Pode ter uma dependência em uma versão mais recente do R (ou em um dos pacotes que importa / depende). Olhe para

     ap["foobarbaz", "Depends"] 

    e considere atualizar sua instalação do R para a versão atual. No Windows, isso é mais facilmente feito através do pacote installr .

     library(installr) updateR() 

    (Naturalmente, você pode precisar install.packages("installr") primeiro.)

    Equivalente para pacotes Bioconductor, você pode precisar atualizar sua instalação Bioconductor.

     source("http://bioconductor.org/biocLite.R") biocLite("BiocUpgrade") 

    6. O pacote está desatualizado

    Ele pode ter sido arquivado (se não for mais mantido e não passar nos testes de R CMD check ).

    Neste caso, você pode carregar uma versão antiga do pacote usando install_version()

     library(remotes) install_version("foobarbaz", "0.1.2") 

    Uma alternativa é instalar a partir do espelho do CRAN do Github.

     library(remotes) install_github("cran/foobarbaz") 

    7. Não há binário do Windows / OS X / Linux

    Pode não ter um binário do Windows devido à necessidade de software adicional que o CRAN não possui. Além disso, alguns pacotes estão disponíveis somente através das fonts para algumas ou todas as plataformas. Neste caso, pode haver uma versão no repository CRAN (extras) (veja setRepositories acima).

    Se o pacote exigir a compilation de código (por exemplo, C, C ++, FORTRAN), instale as ferramentas do desenvolvedor que acompanham o XCode no Windows Rtools ou no OS X e instale a versão de origem do pacote por meio de:

     install.packages("foobarbaz", type = "source") # Or equivalently, for Bioconductor packages: source("http://bioconductor.org/biocLite.R") biocLite("foobarbaz", type = "source") 

    No CRAN, você pode dizer se precisará de ferramentas especiais para construir o pacote a partir da fonte, observando o sinalizador NeedsCompilation na descrição.


    8. O pacote está no github / Bitbucket / Gitorious

    Pode ter um repository no Github / Bitbucket / Gitorious. Esses pacotes exigem que o pacote remotes seja instalado.

     library(remotes) install_github("packageauthor/foobarbaz") install_bitbucket("packageauthor/foobarbaz") install_gitorious("packageauthor/foobarbaz") 

    (Assim como no installr , você pode precisar installr install.packages("remotes") primeiro.)


    9. Não há versão de origem do pacote

    Embora a versão binária do seu pacote esteja disponível, a versão de origem não é. Você pode desativar essa verificação configurando

     options(install.packages.check.source = "no") 

    como descrito nesta resposta SO por imanuelc e a seção Details de ?install.packages .


    10. O pacote está em um repository não padrão

    Seu pacote está em um repository não padrão (por exemplo, Rbbg ). Assumindo que seja razoavelmente compatível com os padrões CRAN, você ainda pode baixá-lo usando install.packages ; você só precisa especificar o URL do repository.

     install.packages("Rbbg", repos = "http://r.findata.org") 

    RHIPE por outro lado, não está em um repository do tipo CRAN e possui suas próprias instruções de instalação .

    No último R (3.2.3) existe um bug, impedindo-o algumas vezes de encontrar o pacote correto. A solução alternativa é definir o repository manualmente:

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

    Solução encontrada em outra questão

    Parece haver um problema com algumas versões do R e libcurl . Eu tive o mesmo problema no Mac (R version 3.2.2) e Ubuntu (R version 3.0.2) e em ambas as instâncias foi resolvido simplesmente executando isto antes do comando install.packages

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

    A solução foi sugerida por um amigo, no entanto, não consegui encontrá-lo em nenhum dos fóruns, enviando essa resposta para outros.

    11. R (ou outra dependência) está desatualizado e você não deseja atualizá-lo.

    Atenção, esta não é exatamente a melhor prática.

    • Baixe a fonte do pacote.
    • Navegue até o arquivo DESCRIPTION .
    • Remova a linha ofensiva com o seu editor de texto, por exemplo

       Depends: R (>= 3.1.1) 
    • Instale a partir do local (ou seja, a partir do diretório pai de DESCRIPTION ), por exemplo,

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

    Uma coisa que aconteceu para mim é que a versão do R fornecida pela minha distribuição linux (R versão 3.0.2 fornecida pelo Ubuntu 14.04) era muito antiga para a versão mais recente do pacote disponível no CRAN (no meu caso, plyr versão 1.8. 3 a partir de hoje). A solução foi usar o sistema de empacotamento da minha distribuição em vez de tentar instalar a partir do R ( apt-get install r-cran-plyr me pegou a versão 1.8.1 do plyr ). Talvez eu tenha tentado atualizar o R ​​usando o updateR() , mas tenho medo de que isso interfira no gerenciador de pacotes da minha distribuição.

    Isso me poupou muito tempo depurando o que está errado. Em muitos casos, são apenas espelhos desatualizados. Esta function pode instalar vários pacotes com suas dependencies usando 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")) 

    Isto é o que eu finalmente poderia fazer para instalar o pacote psych no R-3.4.1 quando recebi o mesmo aviso

    1: pesquisei por esse pacote.

    2: baixado manualmente com a extensão tar.gz

    3: Escolha a opção “Arquivo de Arquivo de Pacote (.zip; .tar.gz)” para instalar pacotes em R

    4: navegou localmente para o local onde foi baixado e clicou em instalar

    Você pode receber um aviso: dependencies ‘xyz’ não disponíveis para o pacote, então primeiro instale as do repository e então siga as etapas 3-4.

    Eu consertei esse erro no Ubuntu seguindo cuidadosamente as instruções para instalar o R. Isso incluiu:

    1. adicionando deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/ ao meu arquivo /etc/apt/sources.list
    2. Executando o sudo apt-get update
    3. Executando o sudo apt-get install r-base-dev

    Para o passo 1, você pode escolher qualquer espelho de download do CRAN no lugar da Universidade de Toronto, se desejar.

    Eu tive o mesmo problema (no Linux), que poderia ser resolvido mudando as configurações de proxy. Se você está por trás de um servidor proxy, verifique a configuração usando Sys.getenv("http_proxy") dentro de R. No meu ~/.Renviron eu tinha as seguintes linhas (de https://support.rstudio.com/hc/en-us / articles / 200488488-Configurando-R-para-usar-um-HTTP-ou-HTTPS-Proxy ) causando o problema:

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

    Mudando para

     http_proxy="http://user:passwd@proxy.dom.com:port" 

    resolveu o problema. Você pode fazer o mesmo para https .

    Não foi o primeiro pensamento quando li “pacote xxx não está disponível para r versão-xyz” …

    HTH

    Quase sempre funciona para mim quando eu uso o biocondutor como fonte e invoco o biocLite. Exemplo:

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

    Como mencionado aqui (em francês), isso pode acontecer quando você tem duas versões do R instaladas no seu computador. Desinstale o mais antigo e tente novamente a instalação do pacote! Funcionou bem para mim.

    Outra pequena adição, ao tentar testar uma versão antiga do R usando o docker image rocker/r-ver:3.1.0

    1. A configuração de MRAN padrão é MRAN e isso não consegue obter muitos pacotes.
    2. Essa versão do R não tem https , portanto, por exemplo: install.packages("knitr", repos = "https://cran.rstudio.com") parece funcionar.

    Eu cometi o erro de esquecer de colocar repos=NULL ao instalar o pacote R do código-fonte. Neste caso, a mensagem de erro é um pouco enganadora: o package 'foobarbaz' is not available (for R version xyz)

    O problema não foi a versão do R, foi o parâmetro repos . Eu fiz install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) que funcionou para mim nesta ocasião.

    Espero que isso ajude alguém.

    Eu encontrei o mesmo problema na instalação do pacote “sentimento”. Começou a pesquisar e tentou muitos comandos. Finalmente o pacote instalado usando o seguinte comando:

     install_url("http://cran.r-project.org/src/contrib/Archive/sentiment/sentiment_0.2.tar.gz")