Подтвердить что ты не робот

Как мне обращаться с "пакетом ххх" недоступно (для R версии x.y.z)? Предупреждение?

Я попытался установить пакет, используя

install.packages("foobarbaz")

но получил предупреждение

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

Почему R не считает, что пакет доступен?

См. также эти вопросы, относящиеся к конкретным примерам этой проблемы:

Мой пакет не работает для R 2.15.2
пакет "Rbbg" недоступен (для версии R версии 2.15.2)
не доступен (для версии R версии 2.15.2)
пакет doMC НЕ доступен для предупреждения R версии 3.0.0 в install.packages
Dependency 'Rglpk недоступен для пакета fPortfolio
Что делать, если пакет недоступен для нашей версии R?


Является ли пакет bigvis для R недоступен для версии R версии 3.0? пакет 'syncwave/' mvcwt недоступен (для версии R версии 3.0.2)
пакетные бриллианты недоступны (для версии R 3.0.0)
Является ли пакет plyr для R недоступным для версии R.0.0?
/info/20980/how-should-i-deal-with-package-xxx-is-not-available-for-r-version-xyz-warning
Пакет bigmemory не устанавливается на R 64 3.0.2
package "makeR" недоступно (для версии 3.0.2)
package 'RTN недоступен (для версии R версии 3.0.1)
Проблема с установкой пакета geoR
пакет 'twitterR недоступен (для версии R.0.0.0)
Как установить "Rcpp, package? Я получил" пакет недоступен"
пакетный набор данных недоступен (для версии R 3.1.1)
"package" rhipe недоступен (для R версии 3.1.2)"
https://stackoverflow.com/info/31439092/package-dplyr-is-not-available-for-r-version-3-1-1

4b9b3361

Ответ 1

1. Вы не можете писать

Первое, что нужно проверить - правильно ли вы указали название пакета? Названия пакетов в регистре зависят от регистра.


2. Вы не смотрели в правый репозиторий

Затем вы должны проверить, доступен ли пакет. Тип

setRepositories()

См. Также setRepositories.

Чтобы узнать, какие репозитории R будут искать ваш пакет и, при необходимости, выберите некоторые дополнительные. По крайней мере, вы, как правило, хотите, чтобы CRAN был выбран, а CRAN (extras) если вы используете Windows, и репозитории Bioc* если вы [GEN/PROTE/Metabol/транскриптов] omics биологический анализ.

Для того, чтобы навсегда изменить это, добавьте строку setRepositories(ind = c(1:6, 8)) в вашем Rprofile.site файл.


3. Пакет не находится в выбранных вами репозиториях.

Верните все доступные пакеты, используя

ap <- available.packages()

Смотрите также имена доступных пакетов АиРа, ? Available.packages.

Поскольку это большая матрица, вы можете использовать средство просмотра данных для его изучения. Кроме того, вы можете быстро проверить, доступен ли пакет, проверяя имена строк.

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

Кроме того, список доступных пакетов можно увидеть в браузере для CRAN, CRAN (дополнительные), Bioconductor, R-forge, RForge и github.

Еще одно возможное предупреждение, которое вы можете получить при взаимодействии с зеркалами CRAN:

Warning: unable to access index for repository

Это может указывать на то, что выбранный репозиторий CRAN в настоящее время недоступен. Вы можете выбрать другое зеркало с помощью chooseCRANmirror() и повторить попытку установки.


Существует несколько причин, по которым пакет может быть недоступен.


4. Вам не нужен пакет

Возможно, вам действительно не нужен пакет. Обычно можно смутить разницу между пакетом и библиотекой, пакетом и набором данных.

Пакет представляет собой стандартизованный набор материалов, расширяющих R, например, предоставление кода, данных или документации. Библиотека - это место (каталог), где R знает, какие пакеты он может использовать

Чтобы просмотреть доступные наборы данных, введите

data()

5. R или Bioconductor устарели

Он может зависеть от более поздней версии R (или одного из пакетов, которые он импортирует/зависит от того, делает ли он). смотреть на

ap["foobarbaz", "Depends"]

и рассмотрите возможность обновления вашей установки R до текущей версии. В Windows это проще всего сделать с помощью пакета installr.

library(installr)
updateR()

(Конечно, вам может потребоваться сначала установить install.packages("installr").

Эквивалентно для пакетов Bioconductor, возможно, вам потребуется обновить установку Bioconductor.

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

6. Пакет устарел

Возможно, он был заархивирован (если он больше не поддерживается и больше не проходит R CMD check).

В этом случае вы можете загрузить старую версию пакета с помощью install_version()

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

Альтернативой является установка из зеркала CRAN github.

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

7. Нет двоичного файла Windows/OS X/Linux

У него может не быть двоичного кода Windows из-за необходимости использования дополнительного программного обеспечения, которого нет у CRAN. Кроме того, некоторые пакеты доступны только через источники для некоторых или всех платформ. В этом случае может быть версия в репозитории CRAN (extras) (см. setRepositories выше).

Если пакет требует компиляции кода (например, C, C++, FORTRAN), то в Windows установите Rtools или на OS X установите инструменты разработчика, сопровождающие XCode, и установите исходную версию пакета через:

install.packages("foobarbaz", type = "source")

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

В CRAN вы можете узнать, нужны ли вам специальные инструменты для сборки пакета из исходного кода, посмотрев флаг NeedsCompilation в описании.


8. Пакет находится на github/Bitbucket/Gitorious

У него может быть репозиторий на Github/Bitbucket/Gitorious. Эти пакеты требуют remotes пакета для установки.

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

(Как и installr, возможно, потребуется install.packages("remotes") в первую очередь.)


9. Нет исходной версии пакета

Хотя бинарная версия вашего пакета доступна, исходной версии нет. Вы можете отключить эту проверку, установив

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

как описано в этом ответе SO от imanuelc и в разделе "Подробности" пакета ?install.packages.


10. Пакет находится в нестандартном репозитории

Ваш пакет находится в нестандартном репозитории (например, Rbbg). Предполагая, что он достаточно совместим со стандартами CRAN, вы все равно можете загрузить его с помощью install.packages; вам просто нужно указать URL-адрес репозитория.

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

RHIPE с другой стороны, не находится в репозитории, подобном CRAN, и имеет свои собственные инструкции по установке.

Ответ 2

В последнем R (3.2.3) есть ошибка, которая несколько раз мешает найти правильный пакет. Обходным путем является установка репозитория вручную:

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

Найденное решение в другом вопросе

Ответ 3

Кажется, что существует проблема с некоторыми версиями R и libcurl. У меня была та же проблема на Mac (R version 3.2.2) и Ubuntu (R version 3.0.2), и в обоих случаях она была решена просто, запустив ее перед командой install.packages

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

Решение было предложено другом, однако я не смог его найти ни на одном из форумов, поэтому, отправляя этот ответ другим.

Ответ 4

11. R (или другая зависимость) устарела, и вы не хотите ее обновлять.

Предупреждение. Это не совсем лучшая практика.

  • Загрузите исходный код.
  • Перейдите к файлу DESCRIPTION.
  • Удалите строку нарушения с помощью текстового редактора, например.

    Depends: R (>= 3.1.1)
    
  • Установить из локального (т.е. из родительского каталога DESCRIPTION), например.

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

Ответ 5

Это решение может сломать R, но вот самое простое решение, которое работает 99% времени.

Вам нужно сделать это просто:

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

Как упомянуто автором здесь

Ответ 6

Одна вещь, которая произошла для меня, заключается в том, что версия R, предоставленная моим дистрибутивом Linux (версия R.0.0.2, предоставленная Ubuntu 14.04), была слишком старой для последней версии пакета, доступного на CRAN (в моем случае plyr версия 1.8.3 на сегодняшний день). Решение состояло в том, чтобы использовать систему упаковки моего дистрибутива вместо того, чтобы пытаться установить из R (apt-get install r-cran-plyr получила меня версия 1.8.1 от plyr). Возможно, я мог бы попробовать обновить R с помощью updateR(), но я боюсь, что это повлияет на мой менеджер пакетов распространения.

Ответ 7

Это избавило меня от времени, отлаживая ошибки. Во многих случаях только зеркала устарели. Эта функция может устанавливать несколько пакетов с их зависимостями с помощью 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

Я исправил эту ошибку на Ubuntu, тщательно следуя инструкциям для установки R. Это включало:

  • добавление deb http://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 вместо моего университета в Торонто, если хотите.

Ответ 9

Это то, что я, наконец, смог сделать для установки пакета psych в R-3.4.1, когда получил то же предупреждение

1: Googled для этого пакета.

2: загрузите его вручную с расширением tar.gz

3: выберите вариант "Файл архива пакетов (.zip;.tar.gz)" для установки пакетов в R

4: просматривается локально в том месте, где оно было загружено и нажато установить

Вы можете получить предупреждение: "xyz" зависимостей недоступны для пакета, затем сначала установите их из репозитория, а затем выполните шаги 3-4 .

Ответ 10

У меня была такая же проблема (в Linux), что можно было решить, изменив настройки прокси-сервера. Если вы находитесь за прокси-сервером, проверьте конфигурацию с помощью Sys.getenv("http_proxy") внутри R. В моем ~/.Renviron у меня были следующие строки (из https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy), вызывающие проблему:

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

Изменение его на

http_proxy="http://user:[email protected]:port"

решил проблему. Вы можете сделать то же самое для https.

Это была не первая мысль, когда я читал: "пакет xxx недоступен для r-версии-x-y-z"...

НТН

Ответ 11

Я допустил ошибку, забыв положить repos=NULL при установке пакета R из исходного кода. В этом случае сообщение об ошибке несколько вводит в заблуждение: package 'foobarbaz' is not available (for R version xyz)

Проблема была не в версии R, это был параметр repos. Я install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) который работал для меня по этому поводу.

Надеюсь, это поможет кому-то.

Ответ 12

Это почти всегда работает для меня, когда я использую биокондуктор в качестве источника, а затем вызываю biocLite. Пример:

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

Ответ 13

Еще одно небольшое дополнение при попытке протестировать старую версию R с использованием изображения докеры rocker/r-ver:3.1.0

  • Значение по умолчанию repos MRAN, и это не позволяет получить много пакетов.
  • В этой версии R нет https, поэтому, например: install.packages("knitr", repos = "https://cran.rstudio.com"), похоже, работает.

Ответ 14

Как упоминалось здесь (на французском языке), это может произойти, если на вашем компьютере установлены две версии R. Удалите самую старую, а затем повторите попытку установки пакета! Это сработало для меня.

Ответ 15

Я столкнулся с той же проблемой при установке "настроя" пакета. Начинал поиск и пробовал много команд. Наконец, пакет устанавливается с помощью следующей команды:

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

Ответ 16

devtools + GitHub. Эти 3 строки (помогли мне в этой ошибке) еще не были упомянуты:

install.packages("devtools")  # if not already installed
library(devtools)
install_git("https://github.com/profile/foobarbaz_repository")