「パッケージ 'xxx'は使用できません(Rバージョンxyzの場合)」という警告にどう対処すればよいですか?


561

私はパッケージをインストールしようとしました

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バージョンで使用できない場合はどうすればよいですか?
RのbigvisパッケージはRバージョン3.0.1では使用できませんか?
パッケージ 'syncwave' / 'mvcwt'は利用できません(Rバージョン3.0.2の場合)
パッケージ 'diamonds'は利用できません(Rバージョン3.0.0の場合)R
のplyrパッケージはRバージョン3.0.2では利用できませんか?
R 64にインストールされていないパッケージbigmemory 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の場合)」


9
RStudioを使用している場合、CRAN以外の別のリポジトリからインストールするときにもこの警告が表示されることに注意してください。これはすでに数回報告したバグですが、並べ替え済みかどうかはわかりません。
Joris Meys 2014

回答:


563

1.スペルできない

最初にテストすることは、パッケージの名前のスペルが正しいかどうかです。 Rでは、パッケージ名は大文字と小文字が区別されます。


2.正しいリポジトリを調べていません

次に、パッケージが利用可能かどうかを確認する必要があります。タイプ

setRepositories()

?setRepositoriesも参照してください。

Rがパッケージを探すリポジトリを確認し、オプションで追加のリポジトリを選択します。少なくとも、通常はCRAN選択CRAN (extras)する必要があります。Windowsを使用している場合は、Bioc*リポジトリを選択します。[gen / prote / metabol / transcript] omics 生物学的分析。

これを永続的に変更するには、次のような行setRepositories(ind = c(1:6, 8))Rprofile.siteファイルに追加します。


3.パッケージは選択したリポジトリにありません

使用可能なすべてのパッケージを返すには

ap <- available.packages()

Rの利用可能なパッケージの名前?available.packagesも参照してください。

これは大きなマトリックスなので、データビューアを使用して調べることができます。または、行名に対してテストすることで、パッケージが利用可能かどうかをすばやく確認できます。

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

または、使用可能なパッケージのリストは、CRANCRAN(extras)BioconductorR-forgeRForge、およびgithubのブラウザーで確認できます。

CRANミラーと対話するときに表示される可能性がある別の警告メッセージは次のとおりです。

Warning: unable to access index for repository

これは、選択したCRANリポジトリが現在使用できないことを示している可能性があります。で別のミラーを選択してchooseCRANmirror()、インストールを再試行できます。


パッケージが利用できない理由はいくつかあります。


4.パッケージを望まない

たぶん、あなたは本当にパッケージを望んでいないでしょう。パッケージとライブラリ、またはパッケージとデータセットの違いについて混乱することはよくあります。

パッケージは、コード、データ、またはドキュメントを提供するなど、Rを拡張するマテリアルの標準化されたコレクションです。ライブラリは、Rが使用できるパッケージを見つけるためにRが知っている場所(ディレクトリ)です

利用可能なデータセットを表示するには、次のように入力します

data()

5. Rまたはバイオコンダクターが古い

Rのより新しいバージョン(またはインポート/依存するパッケージの1つ)に依存している可能性があります。見る

ap["foobarbaz", "Depends"]

Rのインストールを現在のバージョンに更新することを検討してください。Windowsでは、これはinstallrパッケージを介して行うのが最も簡単です。

library(installr)
updateR()

(もちろん、install.packages("installr")最初にする必要があるかもしれません。)

バイオコンダクタパッケージと同様に、バイオコンダクタのインストールを更新する必要がある場合があります。

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バイナリはありません

CRANにはない追加のソフトウェアが必要なため、Windowsバイナリがない場合があります。さらに、一部のパッケージは、一部またはすべてのプラットフォームのソースからのみ入手できます。この場合、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")

(と同様にinstallrinstall.packages("remotes")最初に必要になる場合があります。)


9.パッケージのソースバージョンがありません

パッケージのバイナリバージョンは利用できますが、ソースバージョンは利用できません。このチェックをオフにするには、

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

imanuelcによるこのSOの回答との詳細セクションに記載されてい?install.packagesます。


10.パッケージが非標準リポジトリにあります

パッケージが非標準リポジトリ(例:)にありますRbbg。それがCRAN標準に合理的に準拠していると仮定すると、を使用してダウンロードできますinstall.packages。リポジトリのURLを指定するだけです。

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

RHIPE一方、CRANのようなリポジトリにはなく、独自のインストール手順があります。


2
@KonradRudolph Viewは、R GUI、Architect、Revo-R、Live-Rでも動作します。emacs / ESSで試したことがない。
リッチーコットン

ああ、悪い。調べてみたところ、その機能が存在しないことがわかりました。もちろん動作します(ただし、OS Xでは動作しません…)。
Konrad Rudolph

9
installrWindowsでのみ機能することに言及する価値があると思います
David Arenburg '8/09/20

2
「パッケージとライブラリの違いについて混乱することはよくあることです」—まあ、まあ、R開発者自身はそれについて混乱しています。他にどのように機能を説明するのlibraryですか?しかし、その意味で、この答えは言及/説明すべきではありません.libPathsか?未設定または書き込み不可能なライブラリパスは、パッケージをインストールする際の最も一般的な問題の1つであるようです。
Konrad Rudolph、

1
別のポイントを含めることをお勧めします。この質問のように、r-core内にあるparallelパッケージをインストールしようとすると、パッケージがすでにr-coreにある場合、それをインストールしようとします
セルジオフェルナンデス

90

最新のR(3.2.3)にはバグがあり、正しいパッケージを見つけられない場合があります。回避策は、リポジトリを手動で設定することです:

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

他の質問で解決策が見つかりました


4
これが事実であると疑われた。ただし、r-studioのバグのようです。私はテストしたばかりであり、ターミナルからRを起動するだけであれば、リポジトリを設定する必要はありません。r-studio内からのみです。
adempewolff 2016

そして3.5.1も。dependenciesおよびを設定する前にrepos、Rは接続できませんでしたhttps://mirrors.sorengard.com/cran/src/contrib/PACKAGES(したがって、他の質問のトラブルシューティングは機能しませんでした)。その後、パッケージがまだ単純な方法でロードされていなくても、そのサイトにアクセスできました。
user3386170

バージョン3.5.0がインストールされている他のコンピューターでも。
user3386170 '20

私はバージョン3.6.0でブロッターとquantstratをロードしようとしていますが、このコードを使用しましたが、「install.packagesでの警告:パッケージ 'quantstrat'は使用できません(Rバージョン3.6.0の場合)」です。他の提案はありますか?
W Barker

e1071macOS High SierraのR 3.6.1と同じ問題がありました。助けてくれてありがとう
イゴールF.

25

Rおよびの一部のバージョンに問題があるようlibcurlです。私は上の同じ問題があったMac (R version 3.2.2)Ubuntu (R version 3.0.2)し、両方のインスタンスで、それは前にこれを実行することによって、単純に解決されたinstall.packagesコマンド

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

解決策は友人から提案されましたが、私はどのフォーラムでもそれを見つけることができなかったため、この回答を他の人に提出しました。


2
私のセットアップではcurl、Ubuntuと古いR 2.15.0にaptがインストールされているinstall.packages(..., method="curl")ため、問題は修正されました
jangorecki

私はではmethod="curl"なく、やらなければなりませんでしたがwget、問題は修正されました
Jeff

install_versiondevtoolsこれを回避するのに役立ちました。私のMacも気に入らなかったwget。(R 3.2.3で、を使用してアーカイブパッケージが見つからないという不満がありましたhttp://。他のパッケージは問題なくインストールされていました)
D. Woods

これは、Ubuntu Linux 64ビットにR 3.2.2をインストールすることで機能しました
Darren Wilkinson

22

このソリューションはRを壊すかもしれませんが、ここでは99%の時間で機能する最も簡単なソリューションです。

あなたがする必要があるのはただです:

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

ここで著者が述べたように


2
そして、その1%は私です:/ install.packages( 'graph'、repos = ' cran.us.r-project.org'
Sahil Nagpal

stringrこのコマンドを使用してパッケージをインストールしようとしましたが、失敗しました。install.packages('stringr',repos = "http://cran.us.r-project.org", dependencies = TRUE) Installing package into ‘/usr/lib/spark/R/lib’ (as ‘lib’ is unspecified) Warning: unable to access index for repository http://cran.us.r-project.org/src/contrib: cannot open URL 'http://cran.us.r-project.org/src/contrib/PACKAGES' Warning message: package ‘stringr’ is not available (for R version 3.4.1)
リグレッサ

私も1%に参加しているようですが、
うまくいき

15

11. R(または別の依存関係)は古く、更新したくない。

警告このことはまさにベストプラクティスではありません。

  • パッケージソースをダウンロードします。
  • DESCRIPTIONファイルに移動します。
  • あなたのテキストエディタで問題の行を削除してください。

    Depends: R (>= 3.1.1)
  • ローカルから(つまりの親ディレクトリからDESCRIPTION)インストールします。例:

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

7
通常述べられているRバージョンへの依存は、理由があるためです。そのような変更が何を壊す可能性があるかをチェックすることは賢明かもしれません。
jangorecki

1
@dardisco依存関係を削除しませんでしたが、コメントのおかげで依存関係が見つかり、Rをアップグレードするだけで済みます。ありがとう
sa_zy

9

私に起こったことの1つは、私のLinuxディストリビューションで提供されているRのバージョン(Ubuntu 14.04で提供されているRバージョン3.0.2)が、CRANで利用可能なパッケージの最新バージョン(私の場合、plyrバージョン1.8.3 )に対して古すぎるということです。今日現在)。解決策は、Rからインストールしようとする代わりに、私のディストリビューションのパッケージシステムを使用することでした(apt-get install r-cran-plyrバージョン1.8.1を入手したplyr)。多分私はを使ってRを更新しようとしたかもしれませんがupdateR()、そうすることは私のディストリビューションのパッケージマネージャーに干渉することを恐れています。


Ubuntuの問題については、READMEを確認してください:cran.r-project.org/bin/linux/ubuntu/README
Joris Meys

この解決策はmvtnormks依存するパッケージのdebianで私にとってうまくいきました。コマンドはapt-get install r-cran-mvtnorm
Justapigeon

8

これにより、何が問題なのかをデバッグする時間を大幅に節約できました。多くの場合、ミラーは古くなっています。この関数は、次を使用して、依存関係を持つ複数のパッケージをインストールできます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"))

6

これは、同じ警告を受けたときにR-3.4.1にpsychパッケージをインストールするために私が最後にできることです

1:そのパッケージのGoogled。

2:tar.gz拡張子を付けて手動でダウンロードしました

3:Rのインストールパッケージのオプション「パッケージアーカイブファイル(.zip; .tar.gz)」を選択します

4:ダウンロードされた場所にローカルで閲覧され、インストールをクリックした

警告が表示される場合があります。パッケージで依存関係「xyz」を使用できません。次に、リポジトリから依存関係をインストールしてから、手順3〜4を実行します。


4

Ubuntuでこのエラーを修正するには、Rのインストール手順に注意深く従ってください。これには以下が含まれます:

  1. deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty//etc/apt/sources.listファイルに追加する
  2. ランニング sudo apt-get update
  3. ランニング sudo apt-get install r-base-dev

ステップ1では、必要に応じて、トロント大学の代わりに任意のCRANダウンロードミラーを選択できます。


この方法では、私の問題を解決しましたが、それでも(から最新のバージョンに私のRを更新しない3.023.4)。Rを更新したい場合、これは良い方法です。
Belter 2017

4

repos=NULLソースコードからRパッケージをインストールする際に入れ忘れてしまいました。この場合、エラーメッセージは少し誤解を招くものです。package 'foobarbaz' is not available (for R version x.y.z)

問題はRのバージョンではなく、reposパラメーターでした。私はinstall.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL)この機会に私のために働いた。

これが誰かを助けることを願っています。


1
install.packages( 'foobarbaz'、repos = NULL)を試行すると、エラー「install.packages( "pair"、repos = NULL)でエラーが発生します:タイプ== "both"は 'repos = NULL' "と一緒に使用できません」
Ajay B

1
コメントをありがとう- type="source"このパッケージをソースコードからインストールしたと言ったので、パラメーターを書くのを忘れたようです。答えを編集します。
ダムジャン

3

プロキシ設定を変更することで解決できる同じ問題(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:passwd@proxy.dom.com:port"

問題を解決しました。についても同じことができますhttps

「package xxx is not available for r version-xyz」を読んだとき、それは最初の考えではありませんでした...

HTH


2

別の理由+解決策

会社のHPC上のRStudioにpkgdownをインストールしようとすると、このエラー(「パッケージXXXはRバージョンXXXでは使用できません」)に遭遇します。

結局、HPCにあるCRANスナップショットは2018年1月(ほぼ2年前)のものであり、実際にはpkgdownは存在していませんでした。これは素人ユーザー向けのパッケージのソースを制御するためのものでしたが、開発者として、ほとんどの場合、次のように変更できます。

## 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()

何をしているのかがわかっていて、システムのCRANで利用できない複数のパッケージが必要になる可能性がある場合は、プロジェクトでこれを設定できます.Rprofile

パッケージが1つだけの場合は、を使用するだけかもしれませんinstall.packages("package name", repos = "a newer CRAN than your company's archaic CRAN snapshot")


2
  1. 訪問https://cran.r-project.org/src/contrib/Archive/を
  2. Ctrl+でインストールするパッケージを見つけますF
  3. パッケージ名をクリック
  4. インストールするバージョンを決定します
  5. RStudioを開く
  6. install.packages("https://cran.r-project.org/src/contrib/Archive/[NAME OF PACKAGE]/[VERSION NUMBER].tar.gz", repos = NULL, type="source")」と入力します

場合によっては、使用するパッケージを使用するために、事前にいくつかのパッケージをインストールする必要があります。

例えば、私は7つのパッケージは(インストールに必要なSejonghashrJavatauRSQLitedevtoolsstringr)インストールする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)

1

私がほとんどの場合、バイオコンダクターをソースとして使用してからbiocLiteを呼び出すとうまくいきます。例:

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

1
これはバイオコンダクターパッケージ専用であり、これはバイオコンダクターパッケージのインストール方法でもあります。
Joris Meys 2017年

@JorisMeysこれまでにインストールしようとしたすべてのパッケージがこの方法で入手できたようですが、私は主にバイオインフォマティクスにRを使用しています。
bli

1
@JorisMeys方法はわかりませんが、クランでbiocLiteこれらのパッケージを透過的にフェッチしてインストールできます。私はちょうどテストしましたdplyr(Xubuntu 16.04、それが重要な場合)混乱をできるだけ回避することを期待して、すべてのパッケージを「同じ方法」でインストールしようとします(現在はを使用していますbiocLite)。
bli

2
@bliあなたが正しい、私は修正して立つ。のコードはbiocLite、パッケージの正しいリポジトリを認識してinstall.packages()から、実際のインストールを実行するように呼び出します。ただし、を使用しているため機能しませんbiocLite。それがすることになっinstall.packages()ていることをするので、それは機能します。使用biocLite()install.packages()オーバーヘッド以外に違いはありません。またbiocLite()、デフォルトでは、必要と思われる他のすべてのパッケージも更新されます。したがって、私はinstall.packages()非生体伝導性パッケージに使用することをお勧めします。
Joris Meys 2017年

2
@bli互換性を保証するものではなく、すべてを最新バージョンに更新します(を入れない限りsuppressUpdates = TRUE)。これはを呼び出すことupdate.packages()と同じinstall.packages()です。それは文字通り内部で何をするのかbiocLiteです。
Joris Meys 2017年

0

もう1つのマイナーな追加、Dockerイメージを使用して古いRバージョンをテストする rocker/r-ver:3.1.0

  1. デフォルトrepos設定はでMRAN、これは多くのパッケージの取得に失敗します。
  2. そのバージョンのRにはがないhttpsので、たとえば install.packages("knitr", repos = "https://cran.rstudio.com")、動作するようです。

0

#6パッケージのわずかなバリエーションが@Richie Cottonによる優れたソリューションから古くなっていることがわかりました。

パッケージメンテナがサポートしていないRバージョンのギャップを表示する場合があります。その場合、少なくとも2つのオプションがあります。1)Rバージョンを、ターゲットパッケージがすでにサポートしている次のバージョンにアップグレードします。2)Rバージョンで動作する古いバージョンから最新バージョンをインストールします。

具体例:rattleデータマイニング用のパッケージの最新のCRANバージョン5.3.0は、パッケージバージョン5.2.0(R> = 2.13.0)と5.3.0(R > = 3.5)。

このような場合、Rインストールをアップグレードする代わりに、すでに説明したソリューションを使用できます。パッケージdevtoolsがない場合(パッケージを含むremotes)をインストールし、現在のRで動作する特定のバージョンをインストールします。特定のパッケージアーカイブについては、CRANページでその情報を検索できます。

library("devtools")
install_version("rattle", version = "5.2.0", repos = "http://cran.us.r-project.org")


-1

ここで(フランス語で)述べたように、これは2つのバージョンのRがコンピューターにインストールされている場合に発生する可能性があります。最も古いものをアンインストールしてから、パッケージのインストールを再試行してください!それは私にとってはうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.