Cách chọn gương CRAN trong R


177

Tôi đang cố gắng cài đặt một gói thông qua dấu nhắc R bằng cách thực hiện như sau:

install.packages('RMySQL')

Nhưng đầu ra như sau:

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

Và không có gì khác! Tôi không thể tìm ra giải pháp cho vấn đề rất cơ bản này. Tôi phải nhập gì để chọn gương CRAN?

BIÊN TẬP:

HĐH: Mac-OS X 10.6.8 R Phiên bản: 2.15.0


1
nó sẽ đưa ra một danh sách các số từ 1 - 100 lõi vào gương, thử gõ 84 và nhấn enter
pyCthon

1
đồng thời thêm hệ điều hành bạn đang sử dụng và phiên bản nào của R
pyCthon

1
Một cửa sổ sẽ bật lên với các lựa chọn hoặc một danh sách các lựa chọn sẽ xuất hiện trong bảng điều khiển. Bạn đã kiểm tra một cửa sổ riêng biệt với các lựa chọn? Bạn đang chạy R như thế nào?
sayhey69

@pyCthon Tôi đã gõ 84, nhưng không có gì được trả lại.
Jim Johnson

@ sayhey69 Tôi chỉ đơn giản là chạy R bằng cách gọi lời nhắc từ thiết bị đầu cuối của tôi. Tôi chỉ cần gõ vào r, và thông dịch viên xuất hiện. Tôi chưa bao giờ có bất kỳ cửa sổ riêng biệt nào xuất hiện để yêu cầu lựa chọn.
Jim Johnson

Câu trả lời:


277

Bạn nên có một cửa sổ với một danh sách các kho lưu trữ hoặc một menu văn bản với một số tùy chọn. Nhưng nếu điều đó không xuất hiện, bạn luôn có thể chỉ định nhân bản từ đâu để tự tải xuống các gói bằng cách sử dụng repostham số. Bằng cách đó, R sẽ không hỏi bạn nữa về kho lưu trữ. Thí dụ:

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

Ở đây bạn có một danh sách các gương cho R.


1
Đối với tôi, repos pop-up xuất hiện, tôi nhấp vào một tấm gương, và sau đó không có gì xảy ra; Trong khi đó, điều này làm việc tốt. Giải pháp lập trình> giải pháp tương tác, như thường lệ! Cảm ơn!
MichaelChirico

Và đây là một số gương để lựa chọn, tử tế với cran: cran.r-project.org/mirrors.html
hobs

Tôi thấy đây là một cách giải quyết hữu ích để cài đặt gói gần đây vào MRO. Tôi đã dành một ngày để cài đặt gói xây dựng gần đây nhưng checkpointchức năng không hoạt động như mô tả khi sử dụng bản phân phối R, v3.4.3 của Anaconda, với ảnh chụp nhanh được đặt thành 2017-09-01.
Steven C. Howell

93

Đây là những gì tôi làm, về cơ bản là trực tiếp từ example(Startup)trang:

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

mà là ở ~/.Rprofile.

Chỉnh sửa: Vì bây giờ là năm 2018, chúng tôi có thể thêm rằng trong vài năm qua, URL "https://cloud.r-project.org"được ưu tiên hơn vì nó phản ánh a) truy cập https và b) CDN "luôn ở gần bạn".


3
Tôi nghĩ rằng đây nên là câu trả lời được chấp nhận. Nó chỉ hoạt động (tm), trong mọi trường hợp, kể cả trên các hệ thống không đầu (máy chủ, IoT, v.v.). Cảm ơn, Dirk.
Jesse Adelman

4
Và với tầm nhìn xa của vài năm sau, chúng tôi hiện là một CDN thích hợp được đảm bảo gần với mọi người và chúng tôi sử dụng httpsngay bây giờ để biến nó https://cloud.r-project.orgthành URL.
Dirk Eddelbuettel

Tôi hy vọng bạn không phiền, Dirk, nhưng tôi chỉ chỉnh sửa bài viết của bạn để phản ánh đề xuất của bạn.
Jesse Adelman

Nếu tôi muốn rằng tôi có thể thực hiện nó bốn giờ trước. Tôi thích để cho các ghi chép lịch sử nói. Nhưng vì những kẻ phá hoại sẽ đến, tôi đã đặt một phần tái bút.
Dirk Eddelbuettel

61

Tôi là fan của:

chooseCRANmirror()

Nó sẽ in danh sách các gương trong đầu ra (không phải lo lắng về cửa sổ bật lên vì bạn đang chạy nó từ thiết bị đầu cuối) và sau đó bạn nhập số bạn muốn.


1
Rất tiếc, làm chooseCRANmirror(81)và nó đưa ra một lời nhắc để bạn nhập một số. Tất cả trong bàn điều khiển.
Jared

1
Lưu ý: điều này dường như không cập nhật /etc/R/Rprofile.site hoặc ~ / .Rprofile. (Vì vậy, thật không tốt khi chọn một chiếc gương cũ thay thế đã biến mất. Tốt hơn là chỉnh sửa trực tiếp các tệp trên.)
Darren Cook

@DarrenCook Bạn có thể đúng nhưng tôi thấy rất nhiều người có thể bị đe dọa bởi những tập tin đó. Tôi biết tôi đã.
Jared

4
chooseCRANmirror(ind=81)Jared có lẽ có nghĩa là gì. Nó sẽ bỏ qua lời nhắc.
Casey Watson

1
Có thể thiết lập options(menu.graphics = FALSE)trong .Rprofilequá
Andy Barbour

27

Tôi sử dụng giải pháp ~ / .Rprofile do Dirk đề xuất, nhưng tôi chỉ muốn chỉ ra rằng

chooseCRANmirror(graphics=FALSE)

dường như là điều hợp lý để làm thay vì

chooseCRANmirror(81)

, có thể hoạt động, nhưng liên quan đến số ma thuật 81 (hoặc có thể đây là cách tinh tế để quảng bá du lịch tới 81 = UK (Bristol) :-))


13

Màn hình lựa chọn kho lưu trữ không thể hiển thị trên hệ thống của bạn (OS X), vì OS X không còn bao gồm X11. R cố gắng hiển thị cho bạn lời nhắc thông qua X11. Cài đặt X11 từ http://xquartz.macosforge.org/landing/ . Sau đó chạy lệnh cài đặt. Dấu nhắc chọn repo sẽ được hiển thị.


1
Đây phải là câu trả lời được chấp nhận. Bài viết hỗ trợ của Apple về hỗ trợ X11 trong OS X có tại support.apple.com/kb/HT5293?viewlocale=en_US&locale=en_US
Jere Käpyaho

Vấn đề có thể là cửa sổ không hiển thị vì X11, nhưng có thể nói, tham số chooseCRANmirror()/ reposlà giải pháp đơn giản hơn nhiều.
Ben Mosher

4

Nếu bạn cần đặt máy nhân bản theo cách không tương tác (ví dụ: thực hiện cài đặt rbundler trong tập lệnh triển khai), bạn có thể thực hiện theo cách này:

Lần đầu tiên chạy thủ công:

chooseCRANmirror()

Chọn số gương tốt nhất cho bạn và ghi nhớ nó. Sau đó, để tự động hóa lựa chọn:

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

Trong đó 87 là số lượng gương bạn muốn sử dụng. Đoạn mã này cũng cài đặt rbundle cho bạn. Bạn có thể bỏ qua điều đó nếu bạn thích.


4

Tôi đã sử dụng

chooseCRANmirror(81)

nó cung cấp cho bạn một dấu nhắc để chọn quốc gia. Sau đó, bạn có thể thực hiện lựa chọn bằng cách nhập mã nhân bản quốc gia được chỉ định ở đó.


2

Một menu thả xuống sẽ bật lên để bạn chọn (hoặc bạn sẽ nhận được một loạt các số để chọn), cho dù bạn đang sử dụng R trong thiết bị đầu cuối hoặc IDE như RStudio. Điều này được hỗ trợ trên Windows, Mac OS và hầu hết các hệ thống Linux. Tuy nhiên, nó có thể yêu cầu cấu hình bổ sung hoặc phụ thuộc như X-windows.

Để bật X-windows khi sử dụng truy cập từ xa, hãy sử dụng các -XYcờ sau :

ssh -XY username@server.domain

Thường có một repo mặc định nhưng điều này có thể được chỉ định nếu bạn có bất kỳ vấn đề nào, chẳng hạn như chạy tập lệnh hoặc Rmarkdown / đan. Bạn có thể dùngrepo opset gương hoặc kho lưu trữ cho CRAN mỗi khi bạn cài đặt với:

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

Nên sử dụng gương gần nhất với vị trí của bạn để tải xuống nhanh hơn. Ví dụ:

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

Bạn cũng có thể đặt repostùy chọn trong phiên của mình để bạn chỉ cần một lần cho mỗi phiên tương tác (hoặc tập lệnh). Bạn có thể kiểm tra xemrepos được cấu hình với:

options(repos)

Nếu bạn nhận được "Error in options(repos) : object 'repos' not found" thì bạn có thể đặt tùy chọn kho lưu trữ. Ví dụ:

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

Sau đó, nó sẽ làm việc để cài đặt các gói như bình thường. Ví dụ:

install.packages("RMySQL")

Như đã đề cập bởi những người khác, bạn có thể định cấu hình kho lưu trữ trong .Rprofiletệp của mình và để công việc này trên tất cả các tập lệnh của bạn. Tùy thuộc vào việc bạn thích các tùy chọn "toàn cầu" này trên hệ thống hay tùy chọn "cục bộ" trong phiên hoặc tập lệnh của bạn. Các tùy chọn "cục bộ" này mất nhiều thời gian hơn để sử dụng mỗi phiên nhưng có lợi ích là khiến người khác có thể sử dụng tập lệnh của bạn nếu họ không có tập lệnh của bạn .Rprofile.


0

Tôi đã có, trên macOS, điều chính xác mà bạn nói: Một dấu nhắc 'vui lòng chọn' và sau đó không có gì nữa.

Sau khi tôi mở (và cập nhật; không biết có liên quan hay không) X-Quartz, sau đó khởi động lại R và thử lại, tôi nhận được một danh sách các cửa sổ X của gương để chọn sau vài giây. Nó đã nhanh hơn lần thứ ba trở đi.


0

Bạn cũng có thể vô hiệu hóa tất cả các menu đồ họa bằng cách chạy này hoặc đặt nó vào Rprofile của bạn

options(menu.graphics = FALSE)

0

Thêm vào ~/.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
})
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.