0 Вопрос: R Studio была недавно обновлена. Как мне установить пакет «дерево»? [Дубликат]

вопрос создан в Wed, May 8, 2019 12:00 AM

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

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
Зависимость 'Rglpk' недоступна для пакета 'fPortfolio'
Что делать, когда пакет возраст недоступен для нашей версии R?
Пакет bigvis for R недоступен для версии R R 3.0.1?
пакет 'syncwave' /'mvcwt' недоступен (для R версии 3.0.2) пакет «бриллианты» недоступен ( для версии R 3.0.0)
Пакет plyr для R недоступен для R версии 3.0.2?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Bigmemory пакета не устанавливается на R 64 3.0.2
пакет "makeR" недоступен (для версии 3.0.2)
пакет 'RTN' недоступно (для R версии 3.0.1)
Неисправность при установке пакета geoR
пакет 'twitterR' представляет собой недоступно (для версии R 3.1.0)
Как установить 'Rcpp, пакет? Я получил "пакет недоступен"
пакет 'набора данных' недоступен (для версии R 3.1.1)
" Пакет 'rhipe' недоступен (для версии R 3.1.2) "
https://stackoverflow.com/questions/31439092/package-dplyr-is-not -доступная-для-версия-3-1-1

    
466
  1. Обратите внимание, что при использовании RStudio вы также получаете это предупреждение при установке из другого репозитория, отличного от CRAN. Это ошибка, о которой я уже сообщал несколько раз, но я не знаю, была ли она уже отсортирована.
    2014-09-08 11: 43: 33Z
14 ответов                              14                         

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

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

2. Вы не заглянули в правильный репозиторий

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

setRepositories()

См. также ? setRepositories .

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

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

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

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

ap <- available.packages()

См. также Имена доступных пакетов R , ? available.packages .

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

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

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

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

Warning: unable to access index for repository

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

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

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

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

  

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

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

data()

5. R или Биокондуктор устарел

Он может зависеть от более поздней версии 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")

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

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

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

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

Если пакет требует компиляции кода (например, C, C ++, FORTRAN), то в Windows insВысокий 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-подобном хранилище и имеет собственный инструкции по установке .

    
480
2018-04-16 16: 20: 11Z
  1. @ KonradRudolph View работает также в R GUI, Architect, Revo-R и Live-R. Не пробовал в emacs /ESS.
    2014-09-08 10: 42: 58Z
  2. Ах, мой плохой. Я думал, что проверил и обнаружил, что функция не существует. Конечно, это так (но это не работает для меня в OS X… ).
    2014-09-08 12: 35: 12Z
  3. Думаю, стоит упомянуть, что installr работает только на окнах
    2014-09-08 20: 07: 23Z
  4. «Распространено путать различие между пакетом и библиотекой» - ну, да: сами разработчики R смущены этим. Как еще объяснить функцию library? Тем не менее, не следует ли в этом ответе упомянуть /объяснить .libPaths? Неустановленные или недоступные для записи пути к библиотекам, по-видимому, являются одной из наиболее распространенных проблем при установке пакетов.
    2015-10-29 14: 40: 39Z
  5. Я бы предложил включить еще один момент: попытка установить пакеты, которые входят в r-core, как в 2015-12-29 12: 47: 06Z

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

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

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

    
79
2017-05-23 12: 26: 36Z
  1. Подозреваю, что это так. Похоже, что это ошибка в r-studio. Я только что проверил, и мне не нужно устанавливать репозиторий, если я просто запускаю R из терминала - только из r-studio.
    2016-04-04 09: 59: 58Z
  2. Это также помогло для R 3.2.2, спасибо @Dmitry
    2016-04-13 09: 59: 16Z
  3. Также помог с версией 3.4.0, спасибо!
    2017-07-24 06: 22: 02Z
  4. Спасибо. Также помогла версия 3.5.0 ...
    2018-09-20 17: 59: 06Z
  5. А также 3.5.1. Перед установкой dependencies и repos R не удалось подключиться к https://mirrors.sorengard.com/cran/src/contrib/PACKAGES (и, таким образом, устранение неполадок в другом вопросе не помогло). После этого я смог получить доступ к этому сайту, хотя пакеты по-прежнему не загружаются простым способом.
    2018-12-20 15: 01: 21Z

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

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

    
23
2016-07-22 10: 52: 11Z
  1. для моей установки, имея
    options(download.file.method = "wget")
    
    apt, установленную в Ubuntu, и старый R 2.15.0, curl действительно решил проблему
    2016-04-17 20: 41: 52Z
  2. Это сработало для меня в OS X с R 3.2.2.
    2016-06-20 19: 47: 32Z
  3. Мне нужно было сделать install.packages(..., method="curl"), а не method="curl", но это решило проблему
    2016-08-18 18: 55: 42Z
  4. wget в install_version помог мне обойти это. Мой Mac тоже не понравился devtools. (У меня был R 3.2.3, который жаловался на невозможность найти архивный пакет с использованием wget. Другие пакеты устанавливались просто отлично)
    2016-08-26 04: 24: 45Z
  5. Это сработало для меня при установке R 3.2.2 в Ubuntu Linux 64 bit
    2016-10-09 17: 22: 17Z

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

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

  • Загрузите исходный код пакета.
  • Перейдите к файлу http://.
  • Удалите оскорбительную строку в текстовом редакторе, например,

    DESCRIPTION
  • Установка из локальной сети (т.е. из родительского каталога

    Depends: R (>= 3.1.1)
    
    ), например DESCRIPTION
11
2015-06-01 02: 36: 31Z
  1. Обычно указанная зависимость от версии R существует по какой-то причине, может быть целесообразно проверить, что такое изменение потенциально может нарушить.
    2016-04-17 18: 28: 46Z

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

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

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

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

    
9
2019-05-03 12: 31: 17Z
  1. Почему этот ответ отклонен?
    2018-09-14 17: 47: 15Z

Одна вещь, которая произошла со мной, заключается в том, что версия R, предоставляемая моим дистрибутивом linux (версия 3.0.2, предоставляемая Ubuntu 14.04), была слишком старой для последней версии пакета, доступной в CRAN (в моем случае,

install.packages('package-name',repos='http://cran.us.r-project.org')
версия 1.8.3 на сегодняшний день). Решением было использовать упаковочную систему моего дистрибутива вместо попытки установки с R (plyr получил версию 1.8.1 от apt-get install r-cran-plyr). Возможно, я мог бы попытаться обновить R, используя plyr, но я боюсь, что это помешает менеджеру пакетов моего дистрибутива.     
8
2015-07-08 13: 20: 03Z
  1. При возникновении проблем с Ubuntu проверьте файл README: cran.r-project.org/bin/linux/ubuntu/README
    2017-06-20 15: 07: 50Z

Это сэкономило мне много времени на устранение неполадок. Во многих случаях просто зеркала устарели. Эта функция может устанавливать несколько пакетов с их зависимостями, используя updateR():

https://cran.rstudio.com/     
8
2017-03-06 20: 12: 17Z

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

  1. добавление
    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"))
    
    в мой файл /etc/apt/sources.list
  2. Запуск deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/
  3. Запуск sudo apt-get update

На шаге 1 вы можете выбрать любое зеркало для загрузки CRAN вместо моего Университета Торонто, если хотите.

    
4
2016-08-29 07: 32: 50Z
  1. Таким образом, я решил мою проблему, но обновил R до последней версии (с sudo apt-get install r-base-dev до 3.02). Если вы хотите обновить свой R, это хороший способ.
    2017-04-27 05: 51: 42Z

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

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

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

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

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

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

    
4
2017-08-06 11: 51: 08Z

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

~/.Renviron

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

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

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

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

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

НТН р>     

3
2017-04-14 11: 00: 56Z

Я сделал ошибку, забыв поставить https при установке пакета R из исходного кода. В этом случае сообщение об ошибке немного вводит в заблуждение: repos=NULL

Проблема была не в версии R, а в параметре package 'foobarbaz' is not available (for R version x.y.z). Я сделал repos, который работал для меня в этом случае.

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

    
2
2018-08-12 17: 04: 10Z
  1. Когда я пытаюсь установить install.packages ('foobarbaz', repos = NULL), я получаю сообщение об ошибке "Ошибка в install.packages (" pair ", repos = NULL): тип == "Both" нельзя использовать с 'repos = NULL' "
    2018-06-26 09: 34: 28Z
  2. Спасибо за комментарий. Мне кажется, я забыл написать параметр install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL), так как упомянул, что установил этот пакет из исходного кода, и я отредактирую ответ.
    2018-07-28 14: 56: 46Z

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

1
2016-01-04 15: 18: 23Z
  1. Это только для пакетов bioconductor, и это также способ установки пакетов bioconductor.
    2017-06-20 15: 08: 39Z
  2. @ JorisMeys Мне кажется, что все пакеты, которые я пытался установить до сих пор, были доступны через этот метод, но я в основном использую R для биоинформатики.
    2017-06-20 15: 20: 42Z
  3. @ JorisMeys Я не знаю как, но
    source("https://bioconductor.org/biocLite.R")
    biocLite("preprocessCore")
    
    способен прозрачно получать эти пакеты на кране и устанавливать их. Я только что проверил на biocLite (на Xubuntu 16.04, если это имеет значение). Надеясь максимально избежать путаницы, я сейчас пытаюсь установить все пакеты «одинаково» (в настоящее время используется dplyr).
    2017-06-20 16: 45: 11Z
  4. @ bli Вы правы, я исправлен. Код в biocLite распознает правильные репозитории для пакета и затем вызывает biocLite, чтобы выполнить фактическую установку. Но это не работает, потому что вы используете install.packages(). Это работает, потому что biocLite делает то, что должен делать. Нет никакой разницы между использованием install.packages() и biocLite(), кроме служебных данных и того факта, что install.packages() по умолчанию также обновляет все другие пакеты, которые он считает необходимыми. Поэтому я бы все же посоветовал использовать biocLite() для небиопроводниковых упаковок.
    2017-06-21 08: 57: 18Z
  5. @ bli это не гарантирует совместимость, оно обновляет все до последней версии (если вы не установите install.packages()). Это яЭто то же самое, что вызов suppressUpdates = TRUE, а затем update.packages(). Потому что это буквально то, что install.packages() делает под капотом.
    2017-06-21 09: 16: 27Z

Еще одно незначительное дополнение при попытке проверить старую версию R с помощью образа докера biocLite

  1. Значением по умолчанию rocker/r-ver:3.1.0 является repos, и не удается получить много пакетов.
  2. Эта версия R не имеет MRAN, поэтому, например: https, кажется, работает.
0
2016-12-30 17: 49: 20Z

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

    
- 1
2017-03-07 20: 10: 33Z
install.packages("knitr", repos = "https://cran.rstudio.com")
источник размещен Вот