Jak mam poradzić sobie z ostrzeżeniem "pakiet 'xxx' nie jest dostępny (dla wersji R X.y.z)"?

Próbowałem zainstalować pakiet, używając

install.packages("foobarbaz")

Ale otrzymał ostrzeżenie

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

Dlaczego R nie uważa, że pakiet jest dostępny?

Zobacz także te pytania odnoszące się do konkretnych przypadków tego problemu:

Mój pakiet nie działa na R 2.15.2
pakiet "Rbbg" nie jest dostępny (dla wersji R 2.15.2)
pakiet nie jest dostępny (dla wersji R 2.15.2)
pakiet doMC niedostępny dla R Wersja 3.0.0 ostrzeżenie w instalacji.Pakiety
zależność 'Rglpk' nie jest dostępna dla pakietu 'fPortfolio'
Co zrobić, gdy pakiet nie jest dostępny dla naszej wersji R?
czy pakiet bigvis dla R nie jest dostępny dla wersji R 3.0.1?
pakiet "syncwave" / "mvcwt" nie jest dostępny (dla wersji R 3.0.2)
pakiet "diamenty" nie jest dostępny (dla wersji R 3.0.0)
czy pakiet plyr dla R nie jest dostępny dla R Wersja 3.0.2?
Pakiet bigmemory nie instaluje się na R 64 3.0.2
pakiet "makeR" nie jest dostępny (dla wersji 3.0.2)
pakiet " RTN "nie jest dostępny (dla wersji R 3.0.1)
problem z instalacją pakietu geoR
pakiet "twitterR" nie jest dostępny (dla wersji R 3.1.0)
Jak zainstalować ' rcpp, pakiet? Mam "pakiet nie jest dostępny"
pakiet "dataset" nie jest dostępny (dla wersji R 3.1.1)
"pakiet" rhipe " nie jest dostępny (dla wersji R 3.1.2)"

Author: zx8754, 2014-09-08

18 answers

1. Nie możesz przeliterować

Pierwszą rzeczą do przetestowania jest czy poprawnie napisałeś nazwę pakietu? nazwy pakietów uwzględniają wielkość liter w R.


2. Nie zaglądałeś do właściwego repozytorium

Następnie należy sprawdzić, czy pakiet jest dostępny. Typ

setRepositories()

Zobacz też ?setRepositories .

Aby zobaczyć, które repozytoria r będą szukać Twojego pakietu i opcjonalnie wybrać kilka dodatkowe. Co najmniej, zazwyczaj chcesz CRAN być wybrany, i CRAN (extras) jeśli używasz systemu Windows, i Bioc* repozytoria, jeśli robisz jakiekolwiek [gen/prote/metabol/transcript]omics analizy biologiczne.

Aby trwale to zmienić, dodaj linię jak setRepositories(ind = c(1:6, 8)) do swojego Rprofile.site plik.


3. Pakiet nie znajduje się w wybranych repozytoriach

Zwróć wszystkie dostępne pakiety używając

ap <- available.packages()

Zobacz nazwy dostępnych pakietów R, ?dostępny.Pakiety .

Ponieważ jest to duża macierz, możesz użyć przeglądarki danych do jej zbadania. Alternatywnie, możesz szybko sprawdzić, czy pakiet jest dostępny, testując nazwy wierszy.

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

Alternatywnie, listę dostępnych pakietów można zobaczyć w przeglądarce Dla CRAN, CRAN (dodatki), Bioconductor, r-forge, RForge , oraz github .

[34]}innym możliwym komunikatem ostrzegawczym, który możesz otrzymać podczas interakcji z lustrzankami CRAN, jest: [37]}
Warning: unable to access index for repository

Które mogą wskazywać, że wybrane repozytorium CRAN jest obecnie niedostępne. Możesz wybrać inny serwer lustrzany za pomocą chooseCRANmirror() i spróbować ponownie zainstalować.


Istnieje kilka powodów, dla których pakiet może nie być dostępny.


4. Nie chcesz paczki

Być może tak naprawdę nie chcesz paczki. On często mylone są różnice pomiędzy pakietem i biblioteką , lub Pakietem i zestawem danych.

Pakiet jest znormalizowanym zbiorem materiałów rozszerzających R, np. dostarczającym Kod, dane lub dokumentację. Biblioteka jest miejscem (katalogiem), w którym R wie, jak znaleźć pakiety, których może używać

Aby zobaczyć dostępne zbiory danych, wpisz

data()

5. R lub Bioconductor jest nieaktualny

Może mieć zależność od nowsza wersja R (lub jeden z pakietów, które importuje/od których zależy). Spójrz na

ap["foobarbaz", "Depends"]

I rozważ aktualizację instalacji R do bieżącej wersji. W systemie Windows najłatwiej jest to zrobić poprzez installr paczka.

library(installr)
updateR()

(oczywiście, może być konieczne install.packages("installr") najpierw.)

Równoważnie dla pakietów Bioconductor, może być konieczna aktualizacja instalacji Bioconductor.

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

6. Pakiet jest z Data

Może być zarchiwizowany (jeśli nie jest już utrzymywany i nie przechodzi R CMD check testy).

W tym przypadku można załadować starą wersję pakietu za pomocą install_version()

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

Alternatywą jest instalacja z lustra github CRAN.

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

7. Nie ma pliku binarnego Windows / OS X / Linux

Może nie mieć binarnego systemu Windows ze względu na Wymaganie dodatkowego oprogramowania tego CRAN nie ma. Dodatkowo, niektóre pakiety są dostępne tylko za pośrednictwem źródeł dla niektórych lub wszystkich platform. W tym przypadku może istnieć wersja w repozytorium CRAN (extras) (Zobacz setRepositories powyżej). Jeśli pakiet wymaga kompilacji kodu (np. C, C++, FORTRAN), to na Windows Zainstaluj Rtools lub na OS X zainstaluj narzędzia programistyczne towarzyszące XCode i zainstaluj wersję źródłową pakietu poprzez:
install.packages("foobarbaz", type = "source")

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

Na CRAN, możesz powiedzieć, czy będziesz potrzebujesz specjalnych narzędzi do budowania pakietu ze źródła, patrząc na flagę NeedsCompilation w opisie.


8. Pakiet znajduje się na github / Bitbucket / Gitorious

Może mieć repozytorium na Github / Bitbucket / Gitorious. Pakiety te wymagają remotes pakiet do zainstalowania.

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

(podobnie jak w przypadku installr, może być konieczne install.packages("remotes") najpierw.)


9. Nie ma wersji źródłowej pakietu

Chociaż wersja binarna Twojego pakietu jest dostępna, wersja źródłowa nie jest. Można wyłączyć tę kontrolę, ustawiając

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

Jak opisano w to tak odpowiedź przez imanuelc i sekcji Szczegóły ?install.packages.


10. Pakiet znajduje się w niestandardowym repozytorium

Twój Pakiet znajduje się w niestandardowym repozytorium (np. Rbbg). Zakładając, że jest on w miarę zgodny ze standardami CRAN, nadal można go pobrać za pomocą install.packages; wystarczy podać adres URL repozytorium.

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

RHIPE Z drugiej strony nie jest w repozytorium podobnym do CRAN i ma własne instrukcje instalacji.

 605
Author: Richie Cotton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-16 16:20:11

W najnowszym R (3.2.3)jest błąd, który uniemożliwia mu znalezienie poprawnego pakietu. Obejście problemu polega na ręcznym ustawieniu repozytorium:

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

Znaleziono rozwiązanie w inne pytanie

 95
Author: Dmitry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:36

To rozwiązanie może złamać R, ale tutaj jest najprostsze rozwiązanie, które działa 99% czasu.

Musisz zrobić to tylko:

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

Jak wspomniano przez autora nad tutaj

 26
Author: PaladiN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-03 12:31:17

Wydaje się, że istnieje problem z niektórymi wersjami R i libcurl. Miałem ten sam problem na Mac (R version 3.2.2) i Ubuntu (R version 3.0.2) i w obu przypadkach został rozwiązany po prostu uruchamiając to przed install.packages poleceniem

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

Rozwiązanie zostało zasugerowane przez znajomego, jednak nie udało mi się go znaleźć na żadnym z forów, dlatego odpowiedź dla innych.

 25
Author: Saba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-22 10:52:11

11. R (lub inna zależność) jest nieaktualna i nie chcesz jej aktualizować.

Warning {[10] } to nie jest do końca najlepsza praktyka.

  • Pobierz źródło pakietu.
  • przejdź do pliku DESCRIPTION.
  • Usuń obraźliwą linię za pomocą edytora tekstu, np.

    Depends: R (>= 3.1.1)
    
  • Instaluj z lokalnego (tzn. z katalogu nadrzędnego DESCRIPTION) np.

    install.packages("foo", type="source", repos=NULL)
    
 15
Author: dardisco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-01 02:36:31
  1. wizyta https://cran.r-project.org/src/contrib/Archive/.
  2. Znajdź pakiet, który chcesz zainstalować za pomocą Ctrl + F
  3. kliknij nazwę pakietu
  4. Określ, którą wersję chcesz zainstalować
  5. Open RStudio
  6. Typ "install.packages("https://cran.r-project.org/src/contrib/Archive/[NAME OF PACKAGE]/[VERSION NUMBER].tar.gz", repos = NULL, type="source")"

W niektórych przypadkach, aby użyć pakietu, którego chcesz użyć, musisz wcześniej zainstalować kilka pakietów.

Na przykład, musiałem zainstalować 7 pakietów(Sejong, hash, rJava, tau, RSQLite, devtools, stringr) aby zainstalować pakiet KoNLP.

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)
 14
Author: Aspyn Lim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-09 06:36:22

Jedna rzecz, która mi się przydarzyła, to to, że wersja R dostarczona przez moją dystrybucję Linuksa (wersja R 3.0.2 dostarczona przez Ubuntu 14.04) była za stara na najnowszą wersję pakietu dostępnego na CRAN (w moim przypadku, plyr wersja 1.8.3 na dzień dzisiejszy). Rozwiązaniem było użycie systemu pakowania mojej dystrybucji zamiast próby instalacji z R (apt-get install r-cran-plyr dostałem wersję 1.8.1 z plyr). Może mógłbym spróbować zaktualizować R używając updateR(), ale obawiam się, że to mogłoby kolidować z moim menedżer pakietów dystrybucji.


Edit (04/08/2020): ostatnio miałem problem z pakietem (XML), który podobno nie jest dostępny dla mojej wersji R (3.6.3, najnowsza obsługiwana na debian stretch), po aktualizacji pakietu w CRAN. Było to bardzo nieoczekiwane, ponieważ już wcześniej zainstalowałem go z sukcesem (na tej samej wersji R i tym samym systemie operacyjnym).

Z jakiegoś powodu pakiet nadal tam był, ale install.packages przyglądał się tylko zaktualizowanej (i niezgodnej) wersji. Rozwiązanie aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.]}

install.packages("https://cran.r-project.org/src/contrib/Archive/XML/XML_3.99-0.3.tar.gz", repos=NULL, type="source", ask=FALSE)
 12
Author: bli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-04 11:59:48

Zaoszczędziło mi to dużo czasu na debugowanie tego, co jest nie tak. W wielu przypadkach są po prostu lustra nieaktualne. Ta funkcja może instalować wiele pakietów z ich zależnościami używając 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
Author: Tombart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-06 20:12:17

To jest to, co w końcu mogłem zrobić, aby zainstalować pakiet psych w R-3.4.1, gdy dostałem to samo ostrzeżenie

1:

2: ściągnąłem ręcznie mając tar.rozszerzenie gz

3: Wybierz opcję " plik archiwum pakietu (.zip;.smoła.gz) " Dla pakietów instalacyjnych w R

4: przeglądanie lokalnie do miejsca, w którym został pobrany i kliknij Zainstaluj

Możesz otrzymać ostrzeżenie: zależności ' xyz ' nie są dostępne dla pakietu, następnie najpierw zainstaluj te z repozytorium, a następnie wykonaj kroki 3-4 .

 6
Author: Biboswan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-06 11:51:08

Naprawiłem ten błąd na Ubuntu, uważnie postępując zgodnie z instrukcją instalacji R. W tym:

  1. dodanie deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/ do mojego /etc/apt/sources.plik listy
  2. Running sudo apt-get update
  3. Running sudo apt-get install r-base-dev

W kroku 1 możesz wybrać dowolny Cran download mirror zamiast mojego Uniwersytetu w Toronto, jeśli chcesz.

 4
Author: AlexG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-29 07:32:50

Popełniłem błąd zapominając umieścić repos=NULL podczas instalacji pakietu R z kodu źródłowego. W tym przypadku komunikat o błędzie jest nieco mylący: package 'foobarbaz' is not available (for R version x.y.z)

Problemem nie była wersja R, tylko parametr repos. Zrobiłem {[3] } co mi się przy tej okazji przydało.

Mam nadzieję, że to komuś pomoże.
 4
Author: Damjan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-12 17:04:10

Miałem ten sam problem (na Linuksie), który można było rozwiązać zmieniając ustawienia proxy. Jeśli jesteś za serwerem proxy sprawdź konfigurację używając Sys.getenv("http_proxy") w R. W moim ~/.Renviron miałem następujące linijki (od https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy) powoduje problem:

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

Zmiana na

http_proxy="http://user:[email protected]:port"
Rozwiązałem problem. Możesz zrobić to samo dla https.

To nie była pierwsza myśl, kiedy przeczytaj "pakiet xxx nie jest dostępny dla wersji r-x-y-z" ...

HTH

 3
Author: nachti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-14 11:00:56

Another reason + solution

Podczas próby instalacji pkgdown w moim RStudio na HPC mojej firmy napotkałem ten błąd ("pakiet XXX nie jest dostępny dla wersji R X. X. X").

Okazuje się, że migawka CRAN, którą mają na HPC, pochodzi z Jan. 2018 (prawie 2 lata) i rzeczywiście pkgdown wtedy nie istniał. Miało to kontrolować źródło pakietów dla laików, ale jako programista, możesz w większości przypadków to zmienić autor:
## 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()

Jeśli wiesz, co robisz i możesz potrzebować więcej niż jednego pakietu, który może nie być dostępny w CRAN Twojego systemu, możesz to skonfigurować w swoim projekcie .Rprofile.

Jeśli to tylko jeden pakiet, może po prostu użyj install.packages("package name", repos = "a newer CRAN than your company's archaic CRAN snapshot").

 2
Author: SibyllWang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-07 16:22:25

To prawie zawsze działa dla mnie, gdy używam bioconductor jako źródła, a następnie powołuję biocLite. Przykład:

source("https://bioconductor.org/biocLite.R")
biocLite("preprocessCore")
 1
Author: BioProgram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-04 15:18:23

Znalazłem lekką odmianę #6 Pakiet jest nieaktualny z doskonałego rozwiązania autorstwa @Richie Cotton.

Czasami opiekun pakietu może pokazać luki w wersji R, których nie obsługuje. W takim przypadku masz co najmniej dwie opcje: 1) zaktualizuj swoją wersję R do następnej, którą obsługuje już pakiet docelowy, 2) Zainstaluj najnowszą wersję ze starszych dostępnych, które będą działać z twoją wersją R.

Konkretny przykład: najnowsza wersja CRAN Pakiet rattle dla eksploracji danych, 5.3.0, nie obsługuje wersji R 3.4, ponieważ miał dużą aktualizację między wersjami pakietów 5.2.0 (R >= 2.13.0) i 5.3.0 (r >=3.5).

W takim przypadku alternatywą dla aktualizacji instalacji R jest już wspomniane rozwiązanie. Zainstaluj pakiet devtools, jeśli go nie masz (zawiera pakiet remotes), a następnie zainstaluj konkretną wersję, która będzie działać w bieżącym R. możesz wyszukać te informacje na stronie CRAN dla konkretnego archiwum pakietów.

library("devtools")
install_version("rattle", version = "5.2.0", repos = "http://cran.us.r-project.org")
 1
Author: Pablo Adames,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-02 03:12:27

W moim przypadku rozwiązaniem było po prostu upgrade R.

 1
Author: Ferus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-29 14:24:39

Kolejny drobny dodatek, podczas próby przetestowania starej wersji R przy użyciu obrazu dokera rocker/r-ver:3.1.0

  1. domyślnym ustawieniem repos jest MRAN i nie można uzyskać wielu pakietów.
  2. Ta wersja R nie ma https, więc na przykład: Wygląda na to, że działa.
 0
Author: Jack Wasey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-30 17:49:20

Jak wspomniano tutaj (w języku francuskim), może się to zdarzyć, gdy masz dwie wersje r zainstalowane na komputerze. Odinstaluj najstarszy, a następnie spróbuj ponownie zainstalować pakiet! Dla mnie zadziałało.

 0
Author: Clément F,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-07 20:10:33