Как я могу установить новую версию R в моем собственном каталоге, например, /local/data/project/behi
.
software-installation
not-root-user
user3925736
источник
источник
Ответы:
Самый простой способ сделать это - установить R из исходного кода :
Второй до последнего шага является критическим. Он настраивает 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
опцию, а если нет, обычно есть какая-то альтернатива с таким же эффектом.Эти функции являются общими по ряду причин. В порядке убывания вероятности, по моему опыту:
Безопасный default (
/usr/local
) не подходит$prefix
во всех ситуациях. Обстоятельства могут диктовать что - то другое , например , как/usr
,/opt/$PKGNAME
и т.д.Бинарные системы сборки пакетов ( RPM , DEB , PKG , Cygport ...) обычно собирают и устанавливают пакет в специальный промежуточный каталог, а затем упаковывают его таким образом, чтобы он расширялся до желаемого места установки.
Ваш случай, когда вы не можете
root
установить программное обеспечение в обычном месте, поэтому вы устанавливаете$HOME
вместо этого.источник
./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.
Вы также можете использовать приложение-оболочку Renv .
выдержка
источник
Сборка из источника с
./configure --prefix=/local/data/project/behi ; make ; make install
Если вы устанавливаете из пакета RPM, и он был создан с возможностью перемещения, вы можете использовать
Но не все пакеты собраны с перемещаемыми двоичными файлами, и я не думаю, что пакеты debian имеют эту опцию (хотя у вас это получится
dpkg --instdir
).источник