R에서 CRAN 미러를 선택하는 방법


177

다음을 수행하여 R 프롬프트를 통해 패키지를 설치하려고합니다.

install.packages('RMySQL')

그러나 출력은 다음과 같습니다.

--- Please select a CRAN mirror for use in this session ---

그리고 다른 것은 없습니다! 이 기본적인 문제에 대한 해결책을 찾을 수 없습니다. CRAN 미러를 선택하기 위해 무엇을 입력해야합니까?

편집하다:

운영체제 : Mac-OS X 10.6.8 R Version : 2.15.0


1
그것은
1-100 코어

1
또한이되는 R의 버전을 사용하고있는 것을 OS 추가
pyCthon

1
선택 사항이있는 창이 팝업되거나 선택 사항 목록이 콘솔에 나타납니다. 선택 사항이있는 별도의 창을 확인 했습니까? R을 어떻게 운영하고 있습니까?
sayhey69

@pyCthon 84를 입력했지만 아무것도 반환되지 않습니다.
Jim Johnson

@ sayhey69 터미널에서 프롬프트를 표시하여 R을 실행하고 있습니다. 나는 단지 r을 입력하면 인터프리터가 나타납니다. 선택을 요구하는 별도의 창이 나타나지 않았습니다.
Jim Johnson

답변:


277

리포지토리 목록이있는 창이나 일부 옵션이있는 텍스트 메뉴가 나타납니다. 그러나 이것이 나타나지 않으면 언제든지 repos매개 변수 를 사용하여 패키지를 다운로드 할 위치에서 미러를 지정할 수 있습니다 . 그렇게하면 R은 더 이상 저장소에 대해 묻지 않습니다. 예:

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

다음 은 R에 대한 미러 목록입니다 .


1
저에게 repos 팝업이 나타 났는데, 미러를 클릭했는데 아무 일도 없었습니다. 한편, 이것은 잘 작동했습니다. 프로그래밍 방식 솔루션> 평소와 같이 대화식 솔루션! 감사!
MichaelChirico

그리고 여기에서 선택하는 크랑에게 친절 할 몇 가지 거울과 같습니다 cran.r-project.org/mirrors.html
호브

최신 패키지를 MRO에 설치하는 데 유용한 해결 방법을 찾았습니다. 나는 최근에 패키지의 빌드를 설치하려고 노력했지만 checkpoint스냅 샷이 2017-09-01로 설정된 Anaconda의 R 배포판 v3.4.3을 사용하여 설명한대로 기능이 작동하지 않았습니다.
Steven C. Howell

93

다음은 기본적으로 example(Startup)페이지 에서 직접 수행 한 작업입니다 .

## Default repo
local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.r-project.org" 
       options(repos=r)
})

~/.Rprofile있습니다.

편집 : 2018 년 현재, 우리는 지난 몇 년 동안 URL "https://cloud.r-project.org"이 a) https 액세스 및 b) "항상 근처"CDN을 반영하여 선호되었다고 덧붙일 수 있습니다 .


3
나는 이것이 받아 들여야 할 답변이라고 생각합니다. 헤드리스 시스템 (서버, IoT 등)을 포함한 모든 경우에 Just Just (tm)입니다. 고마워, 더크
Jesse Adelman

4
그리고 몇 년 후, 우리는 이제 모든 사람과 네트워크에 가까운 것으로 보장되는 적절한 CDN을 가졌으며, https이제 이것을 https://cloud.r-project.orgURL로 사용합니다.
Dirk Eddelbuettel

괜찮 으시길 바랍니다. 더크, 난 당신의 제안을 반영하기 위해 게시물을 편집했습니다.
Jesse Adelman

내가 4 시간 전에 할 수 있기를 원했다면 나는 역사적 기록을 말하는 것을 선호합니다. 그러나 파괴자가 올 것이기 때문에 나는 포스트 스크립트를 넣었습니다.
Dirk Eddelbuettel

61

나는 팬입니다 :

chooseCRANmirror()

출력에서 미러 목록을 인쇄하고 (터미널에서 미러를 실행하기 때문에 팝업 창이 걱정되지 않음) 원하는 번호를 입력하십시오.


1
죄송합니다 chooseCRANmirror(81). 숫자를 입력하라는 메시지가 나타납니다. 콘솔에서 모두.
Jared

1
참고 : 이것은 /etc/R/Rprofile.site 또는 ~ / .Rprofile을 업데이트하지 않는 것으로 보입니다. (따라서 사라진 대체 미러를 선택하는 것은 좋지 않습니다. 위의 파일을 직접 편집하는 것이 좋습니다.)
Darren Cook

@DarrenCook 당신이 옳을 수도 있지만 많은 사람들이 그 파일에 위협받을 수 있음을 알았습니다. 나도 알아
Jared

4
chooseCRANmirror(ind=81)야렛은 아마 의미했을 것입니다. 프롬프트를 무시합니다.
Casey Watson

1
설정할 수 options(menu.graphics = FALSE)있는 .Rprofile너무
앤디 바버에게

27

Dirk에서 제안한 ~ / .Rprofile 솔루션을 사용하지만 그 점을 지적하고 싶었습니다.

chooseCRANmirror(graphics=FALSE)

대신에 현명한 일인 것 같습니다

chooseCRANmirror(81)

작동하지만 마법 번호 81과 관련이 있습니다 (또는 81 = 영국 (Bristol)으로 관광을 촉진하는 미묘한 방법 일 수 있습니다 :-))


13

OS X에 더 이상 X11이 포함되어 있지 않으므로 시스템 (OS X)에 리포지토리 선택 화면을 표시 할 수 없습니다. R은 X11을 통해 프롬프트를 표시하려고합니다. http://xquartz.macosforge.org/landing/ 에서 X11을 설치하십시오 . 그런 다음 설치 명령을 실행하십시오. 리포지토리 선택 프롬프트가 표시됩니다.


1
이것이 정답입니다. OS X에서의 X11 지원에 관한 Apple 지원 기사는 support.apple.com/kb/HT5293?viewlocale=en_US&locale=en_US
Jere Käpyaho

문제는 X11 때문에 윈도우가 표시되지 않을 가능성이 있지만 chooseCRANmirror()/ repos매개 변수는 훨씬 간단한 솔루션입니다.
Ben Mosher

4

비 대화식 방식으로 미러를 설정해야하는 경우 (예 : 배포 스크립트에서 rbundler 설치 수행) 다음과 같은 방법으로 미러를 수행 할 수 있습니다.

먼저 수동으로 실행하십시오.

chooseCRANmirror()

자신에게 가장 적합한 미러 번호를 선택하고 기억하십시오. 그런 다음 선택을 자동화하려면

R -e 'chooseCRANmirror(graphics=FALSE, ind=87);library(rbundler);bundle()'

여기서 87은 사용하려는 미러 수입니다. 이 스 니펫은 또한 당신을 위해 rbundle을 설치합니다. 원하는 경우 생략 할 수 있습니다.


4

나는 사용했다

chooseCRANmirror(81)

국가를 선택하라는 메시지가 표시됩니다. 그런 다음 여기에 지정된 국가 미러 코드를 입력하여 선택할 수 있습니다.


2

터미널에서 R을 사용하는지 또는 RStudio와 같은 IDE를 사용하는지에 관계없이 드롭 다운 메뉴가 나타납니다. 이것은 Windows, Mac OS 및 대부분의 Linux 시스템에서 지원됩니다. 그러나 X-windows와 같은 추가 구성 또는 종속성이 필요할 수 있습니다.

원격 액세스를 사용할 때 X-windows를 사용하려면 다음 -XY플래그를 사용하십시오 .

ssh -XY username@server.domain

종종 기본 리포지토리가 있지만 스크립트 실행 또는 Rmarkdown / knitr와 같은 문제가있는 경우 지정할 수 있습니다. repo다음과 함께 설치할 때마다 CRAN에 대한 미러 또는 저장소 옵셋을 사용할 수 있습니다 .

install.packages("package", repo="<your.nearest.mirror>")

다운로드 속도를 높이려면 가장 가까운 미러를 사용하는 것이 좋습니다. 예를 들면 다음과 같습니다.

install.packages("RMySQL", repos="https://cran.stat.auckland.ac.nz/")

repos세션 에서 옵션을 설정하여 대화식 세션 (또는 스크립트) 당 한 번만 필요합니다. 다음 repos으로 구성되어 있는지 확인할 수 있습니다 .

options(repos)

그렇다면 "Error in options(repos) : object 'repos' not found"저장소 옵션을 설정할 수 있습니다. 예를 들면 다음과 같습니다.

options(repos = "https://cran.stat.auckland.ac.nz/")

그런 다음 평소와 같이 패키지를 설치해야합니다. 예를 들어 :

install.packages("RMySQL")

다른 사람들이 언급했듯이 .Rprofile파일 에서 저장소를 구성하고 모든 스크립트 에서이 작업을 수행 할 수 있습니다. 시스템에서 이러한 "전역"옵션을 선호하는지, 세션 또는 스크립트에서 "로컬"옵션을 선호하는지는 사용자에게 달려 있습니다. 이러한 "로컬"옵션은 각 세션을 사용하는 데 더 많은 시간이 걸리지 만 다른 사용자가 귀하의 스크립트가없는 경우 스크립트를 사용할 수있게하는 이점이 있습니다 .Rprofile.


0

나는 macOS에서 당신이 말하는 정확한 것을 가지고 있습니다 : '제발 선택하십시오'프롬프트와 그 이상.

X-Quartz를 열고 업데이트 한 다음 관련성이 있는지 알지 못하고 R을 다시 시작한 후 다시 시도한 후 몇 초 후에 선택할 수있는 미러의 X 창 목록을 얻었습니다. 세 번째로 더 빨랐습니다.


0

이를 실행하거나 Rprofile에 배치하여 모든 그래픽 메뉴를 비활성화 할 수도 있습니다.

options(menu.graphics = FALSE)

0

에 추가 ~/.Rprofile

local({r <- getOption("repos")
    r["CRAN"] <- "mirror_site"  #for example, https://mirrors.ustc.edu.cn/CRAN/
    options(repos=r)
    options(BioC_mirror="bioc_mirror_site") #if using biocLite
})
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.