it-swarm-pt.tech

Como devo lidar com "pacote 'xxx' não está disponível (para R versão x.y.z)" aviso?

Eu tentei instalar um pacote usando

install.packages("foobarbaz")

mas recebeu o aviso

Warning message:
package 'foobarbaz' is not available (for R version x.y.z)

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)
o pacote não está disponível (para a versão R 2.15.2)
package doMC NOT disponível para o aviso da versão R 3.0.0 em install.packages
A 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?
o pacote 'syncwave'/'mvcwt' não está disponível (para o 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 o R versão 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
o 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 na instalação do pacote geoR
o pacote 'twitterR' não está disponível (para o 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)
"package 'rhipe' não está disponível (para R versão 3.1.2)"
https://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1

466
Richie Cotton

1. Você não pode soletrar

A primeira coisa a testar é você digitou o nome do pacote corretamente? Os nomes dos pacotes diferenciam maiúsculas e minúsculas em R.


2. Você não procurou no repositório correto

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

setRepositories()

Veja também ? SetRepositories .

Para ver quais repositórios R procurarão pelo seu pacote e, opcionalmente, selecione alguns adicionais. No mínimo, você normalmente desejará que CRAN seja selecionado, e CRAN (extras) se você usar o Windows, e os repositórios 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 repositórios selecionados

Retornar todos os pacotes disponíveis usando

ap <- available.packages()

Veja também Nomes dos pacotes disponíveis do 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 repositório 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 conjunto de dados.

Uma embalagem é uma coleção padronizada de material que se estende R, e. fornecendo código, dados ou documentação. Uma biblioteca é um lugar (diretório) onde R sabe encontrar pacotes que pode usar

Para ver 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 um dos pacotes que importa/depende). Olhe para a

ap["foobarbaz", "Depends"]

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

library(installr)
updateR()

(Claro, 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

Pode ter sido arquivado (se não é mais mantido e não passa mais R CMD check testes).

Nesse 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 apenas através das fontes para algumas ou todas as plataformas. Neste caso, pode haver uma versão no repositório CRAN (extras) (ver setRepositories acima).

Se o pacote exigir a compilação de código (por exemplo, C, C++, FORTRAN), em seguida, instalar o Windows Rtools ou no OS X, instale o ferramentas de desenvolvedor acompanhando XCode e instale a versão de origem do pacote via:

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 repositório no Github/Bitbucket/Gitorious. Esses pacotes exigem o pacote remotes para instalação.

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

(Tal como acontece com installr, você pode precisar 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 definindo

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

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


10. O pacote está em um repositório não padrão

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

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

RHIPE por outro lado, não está em um repositório do tipo CRAN e tem seu próprio instruções de instalação .

481
Richie Cotton

No último R (3.2.3) existe um bug, impedindo que algumas vezes encontrem o pacote correto. A solução alternativa é definir o repositório manualmente:

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

Solução encontrada em outra pergunta

79
Dmitry

Parece haver um problema com algumas versões de R e libcurl. Eu tive o mesmo problema em 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.

23
Saba

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

Aviso esta não é exatamente a melhor prática.

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

    Depends: R (>= 3.1.1)
    
  • Instalar a partir do local (isto é, a partir do diretório pai de DESCRIPTION), e.

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

Esta solução pode quebrar o R, mas aqui está uma solução mais fácil que funciona 99% do tempo.

Você precisa fazer é apenas:

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

Como mencionado pelo autor acima aqui

9
PaladiN

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 de plyr). Talvez eu tenha tentado atualizar o R ​​usando updateR(), mas temo que isso interfira no gerenciador de pacotes da minha distribuição.

8
bli

Isso me poupou muito tempo depurando o que está errado. Em muitos casos, são apenas espelhos desatualizados. Esta função pode instalar vários pacotes com suas dependências 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"))
8
Tombart

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 Sudo apt-get update
  3. Executando 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.

4
AlexG

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: dependências 'xyz' não disponíveis para o pacote, então primeiro instale as do repositório e então siga as etapas 3-4.

4
Biboswan

Eu tive o mesmo problema (no Linux), que poderia ser resolvido alterando as configurações de proxy. Se você estiver por trás de um servidor proxy, verifique a configuração usando Sys.getenv("http_proxy") dentro de R. Em meu ~/.Renviron, tive as seguintes linhas (de https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R -to-Use-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:[email protected]: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-x-y-z" ...

HTH

3
nachti

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

O problema não era a versão do R, era 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.

2
damjan

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")
1
BioProgram

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

  1. A configuração padrão repos é MRAN e isso falha em 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.
0
Jack Wasey