วิธีการเลือกมิเรอร์ CRAN ใน R


177

ฉันกำลังพยายามติดตั้งแพคเกจด้วยพรอมต์ R โดยทำสิ่งต่อไปนี้:

install.packages('RMySQL')

แต่ผลลัพธ์จะเป็นดังนี้:

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

และไม่มีอะไรอื่น! ฉันไม่สามารถหาวิธีแก้ไขปัญหาพื้นฐานนี้ได้ ฉันควรพิมพ์อะไรเพื่อเลือกกระจก CRAN

แก้ไข:

ระบบปฏิบัติการ: Mac-OS X 10.6.8 R เวอร์ชั่น: 2.15.0


1
มันควรจะเกิดขึ้นกับรายการของตัวเลขตั้งแต่ 1 - 100 สอดคล้องกับกระจกลองพิมพ์ 84 และกด Enter
pyCthon

1
ยังเพิ่มสิ่งที่คุณใช้ระบบปฏิบัติการและรุ่นของ R
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: cran.r-project.org/mirrors.html
hobs

ฉันพบว่าวิธีนี้มีประโยชน์ในการติดตั้งแพ็คเกจล่าสุดลงใน MRO ฉันใช้เวลาหนึ่งวันในการพยายามสร้างแพ็คเกจที่ติดตั้งล่าสุด แต่checkpointฟังก์ชั่นใช้งานไม่ได้ตามที่อธิบายไว้โดยใช้การกระจายของ Anaconda ของ R, v3.4.3 โดยมีการตั้งค่าสแน็ปช็อตเป็น 2017-09-01
สตีเวนซีโฮเวล

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"ได้รับความนิยมเนื่องจากสะท้อนการเข้าถึงแบบ https) และ b) CDN "always-near-you"


3
ฉันคิดว่านี่ควรเป็นคำตอบที่ยอมรับได้ It Just Works (tm) ในทุกกรณีรวมถึงระบบหัวขาด (เซิร์ฟเวอร์ IoT และอื่น ๆ ) ขอบคุณเดิร์ค
Jesse Adelman

4
และด้วยการเข้าใจถึงปัญหาหลายปีต่อมาเราจึงได้ CDN ที่เหมาะสมซึ่งรับประกันได้ว่าจะใกล้เคียงกับทุกคนและเราใช้httpsตอนนี้เพื่อให้https://cloud.r-project.orgเป็น URL
Dirk Eddelbuettel

ฉันหวังว่าคุณจะไม่รังเกียจ Dirk แต่ฉันเพิ่งแก้ไขโพสต์ของคุณเพื่อสะท้อนถึงข้อเสนอแนะของคุณ
Jesse Adelman

ถ้าฉันต้องการที่ฉันสามารถทำได้สี่ชั่วโมงที่ผ่านมาตัวเอง ฉันชอบที่จะให้บันทึกประวัติศาสตร์พูด แต่เพราะจอม
มารร้าย

61

ฉันเป็นแฟนของ:

chooseCRANmirror()

ซึ่งจะพิมพ์รายการมิรเรอร์ในเอาต์พุต (ไม่ต้องกังวลกับหน้าต่างป๊อปอัปเนื่องจากคุณเรียกใช้จากเทอร์มินัล) จากนั้นคุณป้อนหมายเลขที่คุณต้องการ


1
โอ๊ะโอทำchooseCRANmirror(81)แล้วระบบจะแจ้งให้คุณป้อนหมายเลข ทั้งหมดในคอนโซล
Jared

1
หมายเหตุ: สิ่งนี้จะไม่ปรากฏเพื่ออัปเดต /etc/R/Rprofile.site หรือ ~ / .Rprofile (ดังนั้นจึงไม่ดีสำหรับการเลือกมิเรอร์เก่าทางเลือกที่หายไปดีกว่าที่จะแก้ไขไฟล์ด้านบนโดยตรง)
Darren Cook

@DarrenCook คุณอาจพูดถูก แต่ฉันพบว่ามีคนจำนวนมากที่สามารถถูกข่มขู่โดยไฟล์เหล่านั้น ฉันรู้ว่าฉันเป็น
Jared

4
chooseCRANmirror(ind=81)Jared อาจหมายถึงอะไร มันจะเลี่ยงผ่านพรอมต์
Casey Watson

1
สามารถตั้งค่าoptions(menu.graphics = FALSE)ใน.Rprofileเกินไป
แอนดี้บาร์เบอร์

27

ฉันใช้โซลูชัน ~ / .Rprofile ที่ Dirk แนะนำ แต่ฉันแค่ต้องการชี้ให้เห็นว่า

chooseCRANmirror(graphics=FALSE)

น่าจะเป็นสิ่งที่สมเหตุสมผลที่จะทำแทน

chooseCRANmirror(81)

ซึ่งอาจใช้งานได้ แต่เกี่ยวข้องกับเวทมนตร์หมายเลข 81 (หรืออาจเป็นวิธีที่ละเอียดอ่อนในการส่งเสริมการท่องเที่ยวถึง 81 = สหราชอาณาจักร (บริสตอล) :-))


13

หน้าจอการเลือกพื้นที่เก็บข้อมูลไม่สามารถแสดงบนระบบของคุณ (OS X) เนื่องจาก OS X ไม่รวม X11 อีกต่อไป R พยายามแสดงพรอมต์ผ่าน X11 ให้คุณ ติดตั้ง X11 จากhttp://xquartz.macosforge.org/landing/ จากนั้นรันคำสั่ง install พรอมต์การเลือก repo จะปรากฏขึ้น


1
นี่ควรเป็นคำตอบที่ยอมรับได้ บทความการสนับสนุนของ Apple เกี่ยวกับการรองรับ X11 ใน OS X อยู่ที่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 ในเครื่องเทอร์มินัลหรือ IDE เช่น RStudio รองรับระบบปฏิบัติการ Windows, Mac OS และ Linux ส่วนใหญ่ อย่างไรก็ตามมันอาจต้องมีการกำหนดค่าเพิ่มเติมหรือการอ้างอิงเช่น X-windows

หากต้องการเปิดใช้งาน X-windows เมื่อใช้การเข้าถึงระยะไกลให้ใช้-XYแฟล็กต่อไปนี้:

ssh -XY username@server.domain

มักจะมี repo เริ่มต้น แต่สามารถระบุได้หากคุณมีปัญหาใด ๆ เช่นการเรียกใช้สคริปต์หรือ Rmarkdown / knitr คุณสามารถใช้repoopset มิเรอร์หรือที่เก็บสำหรับ 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 สิ่งที่คุณพูด: A กรุณาเลือก 'พรอมต์จากนั้นไม่มีอะไรเพิ่มเติม

หลังจากที่ฉันเปิด (และอัปเดตไม่ทราบว่าเกี่ยวข้องหรือไม่) X-Quartz จากนั้นรีสตาร์ท R และลองอีกครั้งฉันได้รายการ X-window ของมิเรอร์ให้เลือกหลังจากนั้นไม่กี่วินาที มันเร็วขึ้นเป็นครั้งที่สามเป็นต้นไป


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.