Встановити R у власному каталозі


34

Як я можу встановити нову версію R в моєму власному каталозі, наприклад, /local/data/project/behi.


1
Ви можете зробити це, почавши з джерела; але якщо вам доведеться просити, я думаю, що ви цього не робите. Скажіть, будь ласка, в якій системі ви працюєте, і чому вас цікавить нова версія.
фонбранд

Установка, характерна для версії з використанням вихідного коду, значно відрізняється, ніж установка з використанням YUM або APT. Це залежить від версії ОС та кількості залежностей, які необхідно виконати для успішного завершення установки. Я задокументував встановлення R 3.3.3 на SLES11 SP3 в hashprompt.blogspot.com/2017/06/… Сподіваюся, що це може допомогти вам встановити на Linux-системах.
Бабан Гайголе

Відповіді:


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-бібліотеку. В іншому випадку RStudio скаржиться.
Ахмед

Мені не вийшло. Сценарій закінчивсяconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
НаближенняDarknessFish

@ApproachingDarknessFish: Це не має нічого спільного з цим питанням або моєю відповіддю. Вам не вистачає необхідних умов для побудови R у вашій системі з обраними вами параметрами. Зокрема, вам не вистачає бібліотек розвитку читальних ліній. Якщо у вас виникли більше проблем, поставте нове запитання.
Воррен Янг

8

Можна також скористатися обгортковою програмою Renv .

витяг

Просте управління версіями R: Renv

Renv дозволяє легко перемикатися між декількома версіями R. Це простий, ненав’язливий характер та дотримується традицій UNIX, що стосуються одноцільових інструментів, які добре справляються з одним.

Ренв робить…

  • Дозволяє змінювати глобальну R-версію на основі кожного користувача.
  • Забезпечте підтримку версій на проект R.
  • Дозволяє змінювати версію R із змінною середовища.

1

Створити з джерела з ./configure --prefix=/local/data/project/behi ; make ; make install

Якщо ви встановлюєте з пакету RPM, і він був створений з переміщенням, ви можете використовувати його

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

Але не всі пакунки побудовані з переміщених бінарних файлів, і я не думаю, що пакети Debian мають такий варіант (хоча ви можете досягти успіху dpkg --instdir).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.