ฉันจะติดตั้งแพ็คเกจ R จากแหล่งที่มาได้อย่างไร


392

เพื่อนส่งมาให้ผมพร้อมกวดวิชาที่ดีนี้ในwebscraping NYTimes กับ R ฉันชอบที่จะลอง อย่างไรก็ตามขั้นตอนแรกคือการติดตั้งแพคเกจที่เรียกว่า RJSONIO จากแหล่งที่มา

ฉันรู้ว่า R ค่อนข้างดี แต่ฉันไม่รู้ว่าจะติดตั้งแพ็คเกจจากแหล่งที่มาได้อย่างไร

ฉันใช้ Mac OSX


1
สิ่งนี้เกี่ยวข้องอย่างใกล้ชิด: stackoverflow.com/questions/11105131/ …
GSee

คำตอบ:


487

หากคุณมีไฟล์อยู่ภายในเครื่องให้ใช้install.packages()และตั้งค่าrepos=NULL:

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

ตำแหน่งที่path_to_fileจะแสดงพา ธ เต็มและชื่อไฟล์:

  • ใน Windows "C:\\RJSONIO_0.2-3.tar.gz"มันจะมีลักษณะบางอย่างเช่นนี้
  • บน UNIX "/home/blah/RJSONIO_0.2-3.tar.gz"มันจะมีลักษณะเช่นนี้

2
สิ่งนี้จะทำงานหากfile_name_and_pathเป็นแหล่งเก็บข้อมูลโลคัลของแพ็คเกจ R
Faheem Mitha

1
หมายเหตุตัวเลือกที่สามารถนำมาใช้ในการส่งตัวเลือกในการINSTALL_opts R CMD INSTALLตัวอย่างเช่น "--no-multiarch"
Andy Barbour

2
install.packages ("/ tmp / shiny_0.13.1.tar.gz", repos = NULL, type = "source") ฉันได้รับข้อผิดพลาดนี้: -ksh: ข้อผิดพลาดทางไวยากรณ์: `('ไม่คาดคิด
iaav

3
ตามที่ @Cerin ชี้ให้เห็นคุณต้องดูแลส่วนขยาย ฉันมีข้อผิดพลาด "(เนื่องจาก 'lib' ไม่ได้ระบุไว้)" จาก R พร้อมด้วยไฟล์. zip ทุกอย่างทำงานได้ดีหลังจากเปลี่ยนนามสกุลเป็น. tar
Mohamed Hasan

2
น่าสังเกตว่าเนื่องจากrepos = NULLวิธีการนี้จะไม่ติดตั้งการพึ่งพาเช่นจาก CRAN คำตอบนี้แนะนำdevtools::install_local(path_to_file)ว่าสำหรับฉันแบบใด (ข้อโต้แย้งน้อยลงในการจัดหา) และดีกว่า (ติดตั้งการพึ่งพา)
mac

97

ดาวน์โหลดแพ็กเกจซอร์สเปิด Terminal.app นำทางไปยังไดเรกทอรีที่คุณมีไฟล์อยู่ในขณะนั้นจากนั้นเรียกใช้งาน:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

โปรดทราบว่าสิ่งนี้จะประสบความสำเร็จก็ต่อเมื่อ: a) แพ็คเกจไม่จำเป็นต้องมีการรวบรวมหรือข) มีเครื่องมือระบบที่จำเป็นสำหรับการรวบรวมอยู่ ดู: https://cran.r-project.org/bin/macosx/tools/


3
ฉันลองและได้รับข้อผิดพลาด: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD ติดตั้ง RJSONIO_0.2-3.tar.gz คำเตือน: แพคเกจที่ไม่ถูกต้อง 'RJSONIO_0.2-3.tar.gz' ข้อผิดพลาด: ข้อผิดพลาด: ไม่มีแพ็คเกจ ระบุ

1
คุณต้องระบุพา ธ ที่ถูกต้องไปยังไฟล์. tar.gz และเครื่องมือ XCode ( developer.apple.com/TOOLS/Xcode )
rcs

1
มีวิธีสร้างไบนารี. zip จากซอร์สหรือไม่?
haridsv

5
พบวิธีแก้ปัญหาคุณต้องใช้ - ตัวเลือกไบนารี
haridsv

คุณมาที่นี่กี่ครั้งเพราะคุณพิมพ์ติดตั้งแทนการติดตั้ง?
Brandon Bertelsen

50

คุณสามารถติดตั้งได้โดยตรงจากที่เก็บ (หมายเหตุtype="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

3
ฉันลองและได้รับข้อผิดพลาด: * การติดตั้งแพ็กเกจซอร์ส 'RJSONIO' ... ** libs ** arch - i386 sh: make: ไม่พบคำสั่งข้อผิดพลาด: การรวบรวมล้มเหลวสำหรับแพ็คเกจ 'RJSONIO' RMate หยุดทำงานที่บรรทัด 3 * การลบ ' /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO 'แพ็คเกจที่ดาวน์โหลดอยู่ใน' / private / var / โฟลเดอร์ / Ey / EyzhYjoKESmsmsZ6K87PeU +++ TI / -Tmp- / Rtmpe3C96p / ดาวน์โหลด _packages 'การอัปเดต HTML ดัชนีของแพคเกจใน '. ห้องสมุด' ข้อความเตือน: ใน install.packages ("RJSONIO", repos = " omegahat.org/R " ,:การติดตั้งแพคเกจ 'RJSONIO' มีสถานะทางออกไม่เป็นศูนย์

6
คุณติดตั้งเครื่องมือสำหรับนักพัฒนาหรือไม่? พวกเขามาใน DVD การติดตั้ง Mac OS X เนื่องจากแพ็คเกจนี้มีรหัส C คุณจะต้องมีคอมไพเลอร์ติดตั้งจากแหล่งที่มา
Eduardo Leoni

1
ฉันสงสัยว่าฉันไม่ได้ติดตั้งเครื่องมือสำหรับนักพัฒนา อย่างน้อยฉันจำไม่ได้ว่าติดตั้งพวกเขา ขอบคุณ!

4
หากคุณกำลังทำสิ่งนี้บน windows คุณสามารถรับเครื่องมือสำหรับนักพัฒนาจาก murdoch-sutherland.com/Rtools ... ตรวจสอบให้แน่ใจเมื่อติดตั้งคุณทำเครื่องหมายในช่องที่แจ้งว่าจะอัปเดตพา ธ ของคุณ (อาจอ่านยาก ... . เพียงแค่การตรวจสอบกล่องไม่ได้ตรวจสอบที่เกิดขึ้น)
แดน Goldstein

27

เคล็ดลับที่มีประโยชน์เพิ่มเติม (แต่เล็กน้อย) สำหรับการติดตั้งแพ็คเกจรุ่นเก่าจากแหล่งที่มา

ก่อนอื่นถ้าคุณเรียกว่า "install.packages" มันจะติดตั้งแพ็คเกจล่าสุดจาก repo เสมอ หากคุณต้องการติดตั้งแพคเกจเวอร์ชั่นเก่ากว่าบอกความเข้ากันได้คุณสามารถเรียกใช้ install.packages ("url_to_source", repo = NULL, type = "source") ตัวอย่างเช่น:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

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

บวก: คุณสามารถใช้เคล็ดลับนี้กับ dev_mode ของไลบรารี devtools เพื่อจัดการแพ็คเกจเวอร์ชันต่างๆ:

การอ้างอิง: doc devtools


9

จาก cranคุณสามารถติดตั้งได้โดยตรงจากที่เก็บ github ดังนั้นถ้าคุณต้องการแพคเกจที่https://github.com/twitter/AnomalyDetection:

library(devtools)
install_github("twitter/AnomalyDetection")

ไม่หลอกลวง


8

นอกจากนี้คุณสามารถสร้างแพ็คเกจไบนารีโดยใช้ตัวเลือก - ไบนารี

R CMD build --binary RJSONIO_0.2-3.tar.gz

21
R CMD build --binaryเลิกใช้แล้ว; ใช้R CMD INSTALL --buildแทน
f3lix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.