R'yi kendi dizine kur


34

R'nin yeni bir versiyonunu kendi dizinime nasıl kurabilirim, örneğin /local/data/project/behi.


1
Bunu kaynaktan başlayarak yapabilirsiniz; ama sormak zorunda kalırsan, sanırım bunu yapmayacaksın. Lütfen hangi sistemi çalıştırdığınızı ve neden yeni bir sürümle ilgilendiğinizi bize bildirin .
vonbrand

Kaynak kod kullanarak sürüme özgü kurulum, YUM veya APT kullanan kurulumdan çok farklıdır. Kurulumun başarılı bir şekilde tamamlanması için işletim sistemi sürümüne ve karşılanması gereken bağımlılık sayısına bağlıdır. SLES11 SP3'e R 3.3.3'ün kurulumunu hashprompt.blogspot.com/2017/06/… tarihinde belgeledim , linux sistemlerine yüklemenize yardımcı olacağını umuyorum .
Baban Gaigole

Yanıtlar:


43

Bunu yapmanın en kolay yolu, R'yi kaynaktan yüklemektir :

$ 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

İkinci-son adım kritik olanıdır. R'yi kendi ana dizininizin bir alt dizinine kurulacak şekilde yapılandırır.

Linux, MacOS ve benzeri sistemlerinde çalıştırmak için, eklemek $HOME/R/binadresinden Müşteri PATH. Ardından, kabuk komutları gibi çalışır Rve Rscriptçalışacaktır.

MacOS'ta başka bir alternatifiniz var: bunu oluşturunR.app ve kullanıcının özel Applicationsklasörüne yükleyin . Bunu yapmak için Xcode yüklü olması gerekir.

Bunun --prefix=$HOMEyerine vermeyi düşünebilirsiniz . Yani yüklemeler böylece, ev dizinin en üst düzeyde R Rve Rscriptiçinde ikili sonunda $HOME/binkullanıcı en zaten büyük olasılıkla olan PATH. Dezavantajı, R'nin diğer $HOMEiçerikler arasında iç içe geçeceği için daha sonra kaldırmayı zorlaştırmasıdır .

(Yüklemiş olduğunuz ilk şey buysa $HOME/bin, bunu almak için oturumu kapatıp tekrar girmeniz gerekebilir PATH, çünkü genellikle yalnızca $HOME/binoturum açma zamanında varsa, koşullu olarak eklenir .)

Bu genel kalıp, kaynak koddan yükleyebileceğiniz çok sayıda Unix yazılımı için geçerlidir. Yazılımın bir configurekomut dosyası varsa, muhtemelen --prefixseçeneği anlar ve eğer değilse, genellikle aynı etkiye sahip bazı alternatifler vardır.

Bu özellikler çeşitli nedenlerle yaygındır. Olasılık sırasını azaltarak, benim tecrübelerime göre:

  • Güvenli varsayılan ( /usr/local) $prefixher durumda doğru değildir . Koşullar başka bir şey dikte olabilir gibi /usr, /opt/$PKGNAMEvb

  • İkili paket oluşturma sistemleri ( RPM , DEB , PKG , Cygport ...) tipik olarak paketi özel bir hazırlama dizinine kurar ve kurar , daha sonra bunları istenen yükleme yerine genişleyecek şekilde paketleyin.

  • Eğer alamayan Vakanız, rootiçine yüklemek böylece, tipik bir konuma yazılım yüklemeye $HOMEyerine.


1
./configure --prefix=$HOME/R --enable-R-shlibR paylaşılan kütüphanesini derlediğinizden emin olmanızı tavsiye ederim . Aksi takdirde, RStudio şikayet edecektir.
02

Bana çalışmadı Script ile sona erdiconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
YaklaşıyorDarknessFish

@ YaklaşanDarknessFish: Bu soru veya cevabımla ilgisi yok. Seçtiğiniz seçeneklerle sisteminizde R oluşturmak için gerekli önkoşulları kaçırdınız. Özellikle burada, okuma çizgisi geliştirme kitaplıklarını kaçırıyorsunuz. Daha fazla sorun yaşarsanız, yeni bir soru gönderin.
Warren Young

8

Sarmalayıcı uygulaması Renv de kullanabilirsiniz .

alıntı

Basit R Sürüm Yönetimi: Renv

Renv, R'nin birden fazla sürümü arasında kolayca geçiş yapmanıza olanak tanır. Basit, göze çarpmayan ve UNIX'in tek bir amaç için kullanılan tek bir takım geleneğini iyi bir şekilde takip eder.

Renv yapar…

  • Global R sürümünü kullanıcı bazında değiştirmenize izin verin.
  • Proje başına R sürümleri için destek sağlayın.
  • Bir ortam değişkenine sahip R sürümünü geçersiz kılmanıza izin verir.

1

İle kaynaktan oluştur ./configure --prefix=/local/data/project/behi ; make ; make install

Bir RPM paketinden yüklüyorsanız ve taşınabilir bir ortam oluşturulduysa, kullanabilirsiniz

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

Ancak tüm paketler yeniden yerleştirilebilir ikili dosyalar ile oluşturulmamıştır ve debian paketlerinin bu seçeneğe sahip olduğunu sanmıyorum (başarabilmenize rağmen dpkg --instdir).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.