R'nin yeni bir versiyonunu kendi dizinime nasıl kurabilirim, örneğin /local/data/project/behi.
R'nin yeni bir versiyonunu kendi dizinime nasıl kurabilirim, örneğin /local/data/project/behi.
Yanıtlar:
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.
./configure --prefix=$HOME/R --enable-R-shlibR paylaşılan kütüphanesini derlediğinizden emin olmanızı tavsiye ederim . Aksi takdirde, RStudio şikayet edecektir.
configure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
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.
İ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).