Автономный R в OS X
Я пытаюсь создать автономную установку R, которую я могу подключить к USB или архиву и поделиться со своими коллегами, которые не хотят беспокоиться об установке R на свой компьютер и все имеющиеся у меня пакеты.
Я провел некоторое исследование и нашел эти посты:
- Развертывание настольных приложений с использованием R (для Windows)
- Модификация R для получения перемещаемого тарбола
- Пусть R и Rscript выводят пути из своего местоположения
Я опробовал решения во 2-м и 3-м постах на своем Ubuntu box, делая make install
в пользовательское место, а затем либо). Используя sed для редактирования установленного bin/R, как во втором посте, или B). Модификация начала установленного bin/R согласно предложению в третьем посте. В Ubuntu или другом Linux это дает мне папку, содержащую и устанавливающую папки bin, lib и share R, которые должны быть автономными и могут быть перемещены, подключены к USB и на другую коробку Ubuntu.
Я хотел бы добиться аналогичного результата, но для моего Macbook Pro и OS X. Когда вы make install
R в пользовательское место с --prefix
в OS X вместо трех папок bin, lib, share, которые вы видите в Linux, есть папка с именем lib и что-то с именем R.framework. Папка lib содержит папку с именем pkgconfig, содержащую файл с именем libR.pc. R.framework содержит несколько символических ссылок и каталог версий. Этот каталог версий содержит символическую ссылку с именем Current, а затем ряд папок, содержащих различные версии R. Каждая из этих папок версий содержит символическую ссылку с именем Headers, одну с именем PrivateHeaders (содержащую загрузку заголовочных файлов) и одну с именем Resources. Наконец, эта папка Resources содержит папки, такие как bin, etc, share и так далее, например, исходную папку R.
Я незнаком с этой структурой OS X. Итак, я хотел бы знать, что мне нужно сделать, теперь, когда у меня есть make install
ed R в локальную папку на OS X? Я думаю, что в принципе это должно быть похоже на исправление для Linux - редактирование путей в сценарии bin/R R_ROOT_DIR. Тем не менее, я не знаком с этими вещами.framework, в Linux у вас есть локальная папка с тремя каталогами, и довольно просто понять и отредактировать пути.
Любые советы / решения с благодарностью!
Спасибо, Бен.
1 ответ
Кажется, что по крайней мере можно начать с этого. После захвата источников R 3.2.1 и распутывания я сделал следующее:
mkdir localinstall
./configure --prefix=`pwd`/localinstall \
--without-tcltk \
--with-cairo \
--without-aqua \
--without-x \
--enable-R-shlib \
--disable-R-framework
в ванильной системе OS X (через VMware Fusion). Никакой другой установки R не было в системе.
Чтобы заставить его работать с .app
конфигурации, есть переменные среды в bin/R
Сценарий, который вам нужно изменить.
R_HOME_DIR
R_SHARE_DIR
R_INCLUDE_DIR
R_DOC_DIR
Rscript
потребуется некоторое внимание (каталог жестко закодирован в этом двоичном файле), но вы можете настроить его для работы с приложением, если вы получите все другие пакеты поддержки, которые ваше приложение будет использовать без установленной проблемы.