Cài đặt R trong thư mục của riêng tôi


34

Làm cách nào tôi có thể cài đặt phiên bản R mới trong thư mục của riêng tôi, vd /local/data/project/behi.


1
Bạn có thể làm như vậy bằng cách bắt đầu từ nguồn; Nhưng nếu bạn phải hỏi, tôi đoán bạn sẽ không làm như vậy. Vui lòng cho chúng tôi biết bạn đang chạy hệ thống nào và tại sao bạn quan tâm đến phiên bản mới.
vonbrand

Phiên bản cài đặt cụ thể bằng mã nguồn khác nhiều so với cài đặt sử dụng YUM hoặc APT. Nó phụ thuộc vào phiên bản HĐH và số lượng phụ thuộc cần được đáp ứng để cài đặt hoàn tất thành công. Tôi đã ghi lại quá trình cài đặt R 3.3.3 trên SLES11 SP3 trong hashprompt.blogspot.com/2017/06/ Hy vọng rằng nó có thể giúp bạn cài đặt trên các hệ thống linux.
Baban Gaigole

Câu trả lời:


43

Cách dễ nhất để làm điều này là cài đặt R từ nguồn :

$ 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

Bước thứ hai đến bước cuối cùng là bước quan trọng. Nó cấu hình R để được cài đặt vào thư mục con của thư mục chính của bạn.

Để chạy nó trên Linux, macOS và các hệ thống tương tự, hãy thêm $HOME/R/binvào của bạn PATH. Sau đó, các lệnh shell thích RRscriptsẽ hoạt động.

Trên macOS, bạn có một cách khác: xây dựngR.app và cài đặt nó vào Applicationsthư mục riêng của người dùng . Bạn cần cài đặt Xcode để làm điều này.

Bạn có thể xem xét cho --prefix=$HOMEthay thế. Điều đó cài đặt R ở cấp cao nhất của thư mục chính của bạn, để các nhị phân RRscriptcuối cùng xuất hiện $HOME/bin, có khả năng đã có trong người dùng của bạn PATH. Nhược điểm là nó làm cho việc gỡ cài đặt sau này khó khăn hơn, vì R sẽ được xen kẽ giữa các $HOMEnội dung khác của bạn .

(Nếu đây là thứ đầu tiên bạn cài đặt $HOME/bin, bạn có thể phải đăng xuất và đăng nhập lại để lấy cái này PATH, vì nó thường được thêm một cách có điều kiện chỉ khi $HOME/bintồn tại vào thời điểm đăng nhập.)

Mẫu chung này áp dụng cho một lượng lớn phần mềm Unix mà bạn có thể cài đặt từ mã nguồn. Nếu phần mềm có một configuretập lệnh, nó có thể hiểu --prefixtùy chọn, và nếu không, thường có một số thay thế với hiệu ứng tương tự.

Những tính năng này là phổ biến vì một số lý do. Theo thứ tự giảm dần, theo kinh nghiệm của tôi:

  • Mặc định an toàn ( /usr/local) không phải là quyền $prefixtrong mọi tình huống. Hoàn cảnh có thể ra lệnh cái gì khác như /usr, /opt/$PKGNAMEvv

  • Các hệ thống xây dựng gói nhị phân ( RPM , DEB , PKG , Cygport ...) thường xây dựng và cài đặt gói vào một thư mục dàn đặc biệt, sau đó đóng gói theo cách mà nó mở rộng vào vị trí cài đặt mong muốn.

  • Trường hợp của bạn, nơi bạn không thể rootcài đặt phần mềm vào một vị trí thông thường, vì vậy bạn sẽ cài đặt vào $HOME.


1
Tôi muốn giới thiệu ./configure --prefix=$HOME/R --enable-R-shlibđể đảm bảo bạn biên dịch thư viện chia sẻ R. Nếu không, RStudio sẽ phàn nàn.
akhmed

Không làm việc cho tôi. Kịch bản kết thúc vớiconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
Cách tiếp

@ApproachingDarknessFish: Điều đó không liên quan gì đến câu hỏi này hoặc câu trả lời của tôi. Bạn đang thiếu các điều kiện tiên quyết cần thiết để xây dựng R trên hệ thống của bạn với các tùy chọn bạn đã chọn. Cụ thể ở đây, bạn đang thiếu các thư viện phát triển dòng. Nếu bạn có nhiều vấn đề hơn, gửi một câu hỏi mới.
Warren Young

8

Bạn cũng có thể sử dụng ứng dụng trình bao bọc Renv .

đoạn trích

Quản lý phiên bản R đơn giản: Renv

Renv cho phép bạn dễ dàng chuyển đổi giữa nhiều phiên bản của R. Nó đơn giản, không phô trương và tuân theo truyền thống UNIX của các công cụ đơn mục đích làm tốt một việc.

Renv nào

  • Cho phép bạn thay đổi phiên bản R toàn cầu trên cơ sở mỗi người dùng.
  • Cung cấp hỗ trợ cho các phiên bản R cho mỗi dự án.
  • Cho phép bạn ghi đè phiên bản R bằng biến môi trường.

1

Xây dựng từ nguồn với ./configure --prefix=/local/data/project/behi ; make ; make install

Nếu bạn đang cài đặt từ gói RPM và nó được tạo có thể di chuyển, bạn có thể sử dụng

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

Nhưng không phải tất cả các gói đều được xây dựng với các nhị phân có thể định vị lại và tôi không nghĩ các gói debian có tùy chọn này (mặc dù bạn có thể thành công với dpkg --instdir).

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.