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
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 .
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
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.
11. R (ou outra dependência) está desatualizado e você não quer atualizá-lo.
Aviso esta não é exatamente a melhor prática.
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)
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
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.
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"))
Eu consertei esse erro no Ubuntu seguindo cuidadosamente as instruções para instalar o R . Isso incluiu:
deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/
ao meu arquivo /etc/apt/sources.listSudo apt-get update
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.
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.
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
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.
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")
Outra pequena adição, ao tentar testar uma versão antiga do R usando a imagem do docker rocker/r-ver:3.1.0
repos
é MRAN
e isso falha em obter muitos pacotes.https
, portanto, por exemplo: install.packages("knitr", repos = "https://cran.rstudio.com")
parece funcionar.