[r] “패키지 ‘xxx’를 사용할 수 없습니다 (R 버전 xyz)”경고를 어떻게 처리해야합니까?
사용하여 패키지를 설치하려고했습니다.
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
‘fPortfolio’패키지에는 종속성 ‘Rglpk’를 사용할 수
없습니다. 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 3.0.2 패키지 “makeR” 에 패키지 bigmemory가 설치
되지 않음 (버전 3.0.2의 경우)
‘RTN’패키지를 사용할 수 없음 (R 버전 3.0.1의 경우)
geoR 패키지 설치 문제 해결
‘twitterR’을 사용할 수 없습니다 (R 버전 3.1.0의 경우)
‘Rcpp, 패키지를 설치하는 방법은 무엇입니까? “패키지를 사용할 수 없습니다”
라는 메시지가 있습니다. ‘데이터 세트’패키지를 사용할 수 없습니다 (R 버전 3.1.1의 경우)
“패키지 ‘rhipe’를 사용할 수 없습니다 (R 버전 3.1.2의 경우)”
답변
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)
또는 CRAN , CRAN (extras) , Bioconductor , 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 바이너리가 없습니다
그것은이 없을 수 있습니다 윈도우 바이너리를 인해 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")
에 기재된 imanuelc하여이 SO 응답 과의 세부 단면도 ?install.packages
.
10. 패키지가 비표준 저장소에 있습니다.
패키지가 비표준 저장소 (예 :)에 Rbbg
있습니다. CRAN 표준을 준수하는 것으로 가정하면 다음을 사용하여 계속 다운로드 할 수 있습니다 install.packages
. 리포지토리 URL 만 지정하면됩니다.
install.packages("Rbbg", repos = "http://r.findata.org")
답변
최신 R (3.2.3)에는 버그가있어 올바른 패키지를 찾지 못할 수 있습니다. 해결 방법은 리포지토리를 수동으로 설정하는 것입니다.
install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')
다른 질문 에서 해결책을 찾았습니다.
답변
R
및의 일부 버전에 문제가있는 것 같습니다 libcurl
. 나는에 동일한 문제가 있었다 Mac (R version 3.2.2)
그리고 Ubuntu (R version 3.0.2)
두 경우에 그것은 전에이 작업을 실행하여 간단하게 해결 된 install.packages
명령
options(download.file.method = "wget")
해결책은 친구가 제안했지만 포럼에서 찾을 수 없으므로 다른 사람 에게이 답변을 제출하십시오.
답변
이 솔루션은 R을 망칠 수 있지만 여기 99 %의 시간 동안 작동하는 가장 쉬운 솔루션이 있습니다.
당신이해야 할 일은 다음과 같습니다.
install.packages('package-name',repos='http://cran.us.r-project.org')
여기 저자가 언급했듯이
답변
11. R (또는 다른 종속성)이 오래되어 업데이트하지 않으려 고합니다.
경고 이것은 최선의 방법은 아닙니다.
- 패키지 소스를 다운로드하십시오.
DESCRIPTION
파일로 이동 하십시오.-
텍스트 편집기를 사용하여 문제의 줄을 제거하십시오.
Depends: R (>= 3.1.1)
-
로컬 (즉,의 상위 디렉토리
DESCRIPTION
) 에서 설치install.packages("foo", type="source", repos=NULL)
답변
나에게 일어난 일 중 하나는 내 리눅스 배포판에서 제공하는 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()
있지만 그렇게하면 배포판의 패키지 관리자를 방해 할 것입니다.
답변
이로 인해 문제를 디버깅하는 데 많은 시간이 절약되었습니다. 대부분의 경우 오래된 미러 일뿐입니다. 이 기능은 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"))