ติดตั้ง R ในไดเรกทอรีของฉันเอง


34

ฉันสามารถติดตั้งรุ่นใหม่ของ R /local/data/project/behiในไดเรกทอรีของตัวเองเช่น


1
คุณอาจทำได้โดยเริ่มจากแหล่งที่มา แต่ถ้าคุณต้องถามฉันเดาว่าคุณไม่ได้ทำเช่นนั้น โปรดบอกเราว่าคุณใช้ระบบใดและทำไมคุณถึงสนใจรุ่นใหม่
vonbrand

การติดตั้งเฉพาะรุ่นที่ใช้ซอร์สโค้ดนั้นแตกต่างจากการติดตั้งโดยใช้ YUM หรือ APT มาก มันขึ้นอยู่กับเวอร์ชั่นของระบบปฏิบัติการและจำนวนการพึ่งพาที่จำเป็นต้องมีเพื่อให้การติดตั้งเสร็จสมบูรณ์ ฉันได้บันทึกการติดตั้ง R 3.3.3 บน SLES11 SP3 ในhashprompt.blogspot.com/2017/06/หวังว่ามันจะช่วยให้คุณติดตั้งบนระบบ linux ได้
Baban Gaigole

คำตอบ:


43

วิธีที่ง่ายที่สุดในการทำเช่นนี้คือติดตั้ง R จากแหล่งที่มา :

$ wget http://cran.rstudio.com/src/base/R-3/R-3.4.1.tar.gz
$ tar xvf R-3.4.1.tar.gz
$ cd R-3.4.1
$ ./configure --prefix=$HOME/R
$ make && make install

ขั้นตอนที่สองถึงครั้งสุดท้ายเป็นขั้นตอนที่สำคัญ มันกำหนดค่า R ที่จะติดตั้งลงในไดเรกทอรีย่อยของไดเรกทอรีบ้านของคุณเอง

ที่จะรันบน Linux, MacOS และระบบที่คล้ายกันเพิ่มที่คุณ$HOME/R/bin PATHจากนั้นคำสั่งเชลล์จะทำงานRและRscriptจะทำงาน

บน macOS คุณมีทางเลือกอื่น: สร้างR.appและติดตั้งลงในApplicationsโฟลเดอร์ส่วนตัวของผู้ใช้ คุณต้องติดตั้ง Xcode เพื่อทำสิ่งนี้

คุณอาจพิจารณาให้--prefix=$HOMEแทน นั่นติดตั้ง R ที่ระดับบนสุดของโฮมไดเร็กตอรี่ของคุณ, RและRscriptไบนารีจบลง$HOME/bin, ซึ่งมีอยู่แล้วในผู้ใช้ของPATHคุณ. ข้อเสียคือทำให้การถอนการติดตั้งในภายหลังยากขึ้นเนื่องจาก R จะถูกผสานระหว่าง$HOMEเนื้อหาอื่น ๆ ของคุณ

(หากนี่คือสิ่งแรกที่คุณได้ติดตั้งไว้$HOME/binคุณอาจต้องออกจากระบบและกลับเข้ามาในสิ่งนี้PATHเนื่องจากมักจะถูกเพิ่มตามเงื่อนไขเฉพาะเมื่อ$HOME/binมีอยู่ในเวลาเข้าสู่ระบบ)

รูปแบบทั่วไปนี้ใช้กับซอฟต์แวร์ Unix จำนวนมากที่คุณสามารถติดตั้งได้จากซอร์สโค้ด หากซอฟต์แวร์มีconfigureสคริปต์ก็อาจเข้าใจถึง--prefixตัวเลือกและหากไม่มีก็มักจะมีตัวเลือกอื่นที่มีผลเหมือนกัน

คุณสมบัติเหล่านี้เป็นเรื่องปกติด้วยเหตุผลหลายประการ ในการลดลำดับความเป็นไปได้ในประสบการณ์ของฉัน:

  • ค่าเริ่มต้นที่ปลอดภัย ( /usr/local) ไม่เหมาะสม$prefixในทุกสถานการณ์ สถานการณ์อาจจะกำหนดเป็นอย่างอื่นเช่น/usr, /opt/$PKGNAMEฯลฯ

  • ระบบการสร้างแพคเกจแบบไบนารี ( RPM , DEB , PKG , Cygport ... ) โดยทั่วไปจะสร้างและติดตั้งแพคเกจลงในไดเรคทอรี่การแสดงละครพิเศษ

  • เคสของคุณซึ่งคุณไม่สามารถrootติดตั้งซอฟต์แวร์ลงในตำแหน่งปกติได้ดังนั้นคุณควรติดตั้ง$HOMEแทน


1
ฉันอยากจะแนะนำ./configure --prefix=$HOME/R --enable-R-shlibเพื่อให้แน่ใจว่าคุณรวบรวม R shared library มิฉะนั้น RStudio จะบ่น
akhmed

ไม่ได้ทำงานฉัน สคริปต์จบลงด้วยconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
ApproachingDarknessFish

@ApproachingDarknessFish: นั่นไม่มีส่วนเกี่ยวข้องกับคำถามนี้หรือคำตอบของฉัน คุณไม่มีข้อกำหนดเบื้องต้นที่จำเป็นสำหรับการสร้าง R บนระบบของคุณด้วยตัวเลือกที่คุณเลือก โดยเฉพาะอย่างยิ่งที่นี่คุณไม่มีไลบรารีการพัฒนา readline หากคุณมีปัญหาเพิ่มเติมให้โพสต์คำถามใหม่
Warren Young

8

นอกจากนี้คุณยังสามารถใช้โปรแกรมกระดาษห่อRenv

สิ่งที่สกัดมา

Simple R Version Management: Renv

Renv ช่วยให้คุณสามารถสลับระหว่างอาร์หลายเวอร์ชันได้อย่างง่ายดายมันไม่สร้างความรำคาญและเป็นไปตามประเพณี UNIX ของเครื่องมือแบบใช้ครั้งเดียวที่ทำสิ่งเดียวได้ดี

Renv ทำ ...

  • ให้คุณเปลี่ยนเวอร์ชัน R ส่วนกลางได้แบบต่อผู้ใช้
  • ให้การสนับสนุนสำหรับรุ่น R ต่อโครงการ
  • อนุญาตให้คุณแทนที่รุ่น R ด้วยตัวแปรสภาพแวดล้อม

1

สร้างจากแหล่งที่มาด้วย ./configure --prefix=/local/data/project/behi ; make ; make install

หากคุณกำลังติดตั้งจากแพ็คเกจ RPM และมันถูกสร้างขึ้นใหม่สามารถเปลี่ยนตำแหน่งได้คุณสามารถใช้

rpm ... --prefix /local/data/project/behi

แต่แพ็คเกจทั้งหมดไม่ได้ถูกสร้างขึ้นด้วยไบนารีที่เปลี่ยนตำแหน่งได้และฉันไม่คิดว่าแพ็คเกจเดเบียนมีตัวเลือกนี้ (แม้ว่าคุณจะประสบความสำเร็จdpkg --instdir)

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