Пакет R geoR не будет установлен на macOS, несмотря на наличие tcl-tk в системе
Я установил R и RStudio через brew
, Для проекта мне нужна функция из библиотеки R geoR
который в свою очередь зависит от tcl-tk
, Я также установил это с помощью brew: brew install tcl-tk
, Тем не менее, пытаясь установить geoR
все еще приводит к ошибке ниже - что я не понимаю. Переустановка R / RStudio не помогла. Не перезагружал мой Mac. Ох и пытаюсь установить geoR
из загруженного двоичного файла из CRAN тоже не помогает... И, наконец, пытается установить tcl-tk
пакет с сайта R тоже не решает эту проблему.
Я также разместил это на GitHub brew
- но, возможно, другие посещают сферы Stackru.
мой brew
статус
brew config
HOMEBREW_VERSION: 1.5.2
ORIGIN: https://github.com/Homebrew/brew
HEAD: 60a30e966b7cece5bd4823dae3fb981ab85106ea
Last commit: 11 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 8c1c4f86a269cb23d9d92008abf1a37eabb297b6
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
CPU: quad-core 64-bit skylake
Homebrew Ruby: 2.3.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 9.0 build 900
Git: 2.16.1 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Perl: /usr/bin/perl
Python: /usr/local/opt/python/libexec/bin/python => /usr/local/Cellar/python/2.7.14_2/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Java: 9.0.1
macOS: 10.13.3-x86_64
Xcode: N/A
CLT: 9.2.0.0.1.1510905681
X11: 2.7.11 => /opt/X11
ОШИБКА
* installing *source* package ‘geoR’ ...
** package ‘geoR’ successfully unpacked and MD5 sums checked
** libs
clang -I/usr/local/Cellar/r/3.4.3_1/lib/R/include -DNDEBUG -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/include -fPIC -g -O2 -c geoR.c -o geoR.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/Cellar/r/3.4.3_1/lib/R/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o geoR.so geoR.o -L/usr/local/Cellar/r/3.4.3_1/lib/R/lib -lR -lintl -Wl,-framework -Wl,CoreFoundation
installing to /usr/local/lib/R/3.4/site-library/geoR/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Warning: S3 methods ‘as.character.tclObj’, ‘as.character.tclVar’, ‘as.double.tclObj’, ‘as.integer.tclObj’, ‘as.logical.tclObj’, ‘as.raw.tclObj’, ‘print.tclObj’, ‘[[.tclArray’, ‘[[<-.tclArray’, ‘$.tclArray’, ‘$<-.tclArray’, ‘names.tclArray’, ‘names<-.tclArray’, ‘length.tclArray’, ‘length<-.tclArray’, ‘tclObj.tclVar’, ‘tclObj<-.tclVar’, ‘tclvalue.default’, ‘tclvalue.tclObj’, ‘tclvalue.tclVar’, ‘tclvalue<-.default’, ‘tclvalue<-.tclVar’, ‘close.tkProgressBar’ were declared in NAMESPACE but not found
Error : .onLoad failed in loadNamespace() for 'tcltk', details:
call: fun(libname, pkgname)
error: Tcl/Tk support is not available on this system
ERROR: lazy loading failed for package ‘geoR’
* removing ‘/usr/local/lib/R/3.4/site-library/geoR’
* restoring previous ‘/usr/local/lib/R/3.4/site-library/geoR’
The downloaded source packages are in
‘/private/var/folders/kh/0s66cjl5487fg_fhwgxqd2340000gn/T/RtmpooD5vJ/downloaded_packages’
Warning message:
In install.packages("geoR") :
installation of package ‘geoR’ had non-zero exit status
2 ответа
Что ж, после долгих поисков и анализа прочитанного я нашел решение.
Здесь я добавляю некоторые сведения о том, почему мне нужно решение, и пошаговую процедуру, которую я выбрал. Обратите внимание, что это, конечно, не окончательное решение / процедура, и, возможно, некоторые шаги излишни - я позволю это другим.
Фон
Иногда данные очень искажены и содержат много "нулей" (или очень маленьких чисел, приближающихся к "нулю"). Перед анализом такие данные нуждаются в нормализации, чтобы соответствовать допущениям статистического теста ( вы можете найти больше информации о преобразовании и нормализации здесь). Обычно люди преобразуют лог-преобразование (например, натуральный логарифм или лог- 2), недостатком является то, что вы теряете "нули".
В моем случае это проблема, потому что сделанные измерения были выполнены правильно (никаких технических проблем), поэтому "ноль" действительно представляет "ноль". Другими словами: я не хочу их терять. Несколько лет назад мой коллега указал мне на * преобразование "Бокса-Кокса" ** (об этом вы можете узнать здесь), и этот метод доступен в R
через geoR
пакет.
Дело в том, что я использую brew
установить R
и многие другие пакеты / библиотеки, отсутствующие в macOS, например wget
, По причинам, которые я до сих пор не понимаю - но я также понимаю, что это выходит за рамки моих возможностей кодирования - brew
обычно не устанавливается R
с tcl-tk
пакет. И пусть это будет критической частью, в которой вы нуждаетесь geoR
и, соответственно, функция boxccoxfit
работать. После некоторого поиска в Google я получил некоторые подсказки, которые привели меня к (на первый взгляд) постоянному решению; обсуждение на brew
сайт был критическим.
Шаг за шагом
- Я удостоверился, что я установил tcl-tk через
brew
,brew install tcl-tk
- Я убедился
tcl-tk
был на моем пути:echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.bash_profile
, - Команда
wish
также подтвердил это.
Я также удостоверился, что правильно установил инструменты командной строки - на прошлой неделе было несколько обновлений для High Sierra, а другие сообщали о проблемах с этим, поэтому я опасался, что их придется переустанавливать. Я не должен был, но вот как я это проверил. Команда
brew config
показывает:HOMEBREW_VERSION: 1.5.2
ПРОИСХОЖДЕНИЕ: https://github.com/Homebrew/brew
HEAD: 60a30e966b7cece5bd4823dae3fb981ab85106ea
Последний коммит: 13 дней назад
Основной кран ПРОИСХОЖДЕНИЕ: https://github.com/Homebrew/homebrew-core
Основной кран ГОЛОВКА: 8c1c4f86a269cb23d9d92008abf1a37eabb297b6
Core tap последний коммит: 2 дня назад
HOMEBREW_PREFIX: /usr/local
Процессор: четырехъядерный 64-битный Skylake
Доморощенный Рубин: 2.3.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 9.0 построить 900
Git: 2.16.1 => / usr / local / bin / git
Curl: 7.54.0 => / usr / bin / curl
Perl: / usr / bin / perl
Python: / usr / local / opt / python / libexec / bin / python => /usr/local/Cellar/python/2.7.14_2/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: / usr / bin / ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby Java: 9.0.1
macOS: 10.13.3-x86_64
Xcode: N / A
** CLT: 9.2.0.0.1.1510905681 **
X11: 2.7.11 => / opt / X11Жирная печатная линия предполагает, что
Command Line Tools
должен быть установлен.Затем я дважды проверил, был ли задан путь, используя команду
xcode-select -p
, который показывает:/ Library / Разработчик / CommandLineTools
Также
gcc
правильно установлено. Я проверил это с помощьюgcc --version
, который показывает:Настраивается с помощью: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/ C++ / 4.2.1
Apple LLVM версия 9.0.0 (clang-900.0.39.2)
Цель: x86_64-apple-darwin17.4.0
Модель потока: posix
InstalledDir: / Library / Developer / CommandLineTools / usr / binТеперь, когда я подтвердил наличие основ, я переустановил
Xquartz
,R
а такжеRStudio
, Чтобы убедиться, что я получаюR
сtcl-tk
Я использовал R версию @srfore. Это последующие команды.brew cask reinstall xquartz
, переустановитеXquartz
, Необязательно, если он уже установлен.brew reinstall -s sethrfore/homebrew-r-srf/r
Установил отредактированную версиюR
,brew cask reinstall rstudio
, переустановитеRstudio
, Необязательно, если он уже установлен.
Все казалось хорошо, я дважды проверил с
brew doctor
,Ваша система готова заваривать.
Конечно, для меня все началось с необходимости использовать функцию
boxcoxfit
отR
пакетgeoR
который зависит отtcl-tk
, Итак, теперь это было время показа, и я начал R:install.packages ("GEOR")
Установка пакета в /usr/local/lib/R/3.4/site-library
(поскольку "lib" не указано)
--- Пожалуйста, выберите зеркало CRAN для использования в этом сеансе ---
Безопасные зеркала CRANДля многих, чтобы показать здесь, поэтому я удалил эту часть.
Выбор: 1
пробуя URL ' https://cloud.r-project.org/src/contrib/geoR_1.7-5.2.tar.gz '
Тип контента 'application/x-gzip' длина 421612 байт (411 КБ)
==================================================
скачал 411 кб* установка исходного пакета 'geoR'...
** пакет 'geoR' успешно распакован и проверены суммы MD5
** libs
clang -I / usr / local / Cellar / r / 3.4.3_1 / lib / R / include -DNDEBUG -I / usr / local / opt / gettext / include -I / usr / local / opt / readline / include -I / usr / local / include -fPIC -g -O2 -c geoR.c -o geoR.o
clang -dynamiclib -Wl, -headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined подавить -L/usr/local/Cellar/r/3.4.3_1/lib/R/lib -L/usr/local/opt/gettext/ gettext / lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o geoR.so geoR.o -L/usr/local/Cellar/r/3.4.3_1/lib/R/lib -lR -lintl -Wl,-framework -Wl,CoreFoundation
установка в /usr/local/lib/R/3.4/site-library/geoR/libs
** Р
** данные
* перемещение наборов данных в базу данных lazyload
** инст
** подготовка пакета для ленивой загрузки
** Помогите
* установка справочных индексов
** строительные индексы
** тестирование, если установленный пакет может быть загружен
* СДЕЛАНО (geoR)
Загруженные исходные пакеты находятся в
'/ Частный / вар / папки / кк /0s66cjl5487fg_fhwgxqd2340000gn/T/RtmpHJHtGf/downloaded_packages'
И загрузкаgeoR
не было проблемой:библиотека ("GEOR")
-------------------------------------------------- ------------
Анализ геостатистических данных
Для ознакомления с geoR перейдите по http://www.leg.ufpr.br/geoR
geoR версия 1.7-5.2 (построена 2016-05-02) теперь загружена
-------------------------------------------------- ------------
Это не лучшее решение, которое я собираюсь предложить, но оно решило некоторые проблемы для меня. Я участвую в совместном проекте, в котором мы хотим использовать, в частности, geoR:varcov.spatial(). Из-за проблем с xquartz и т. Д. Для пользователей Mac мы фактически извлекли функцию из исходного кода пакета и загрузили только эту функцию отдельно в отдельный скрипт. Мы все еще цитируем пакет в документе, но на самом деле мы не устанавливаем и не загружаем geoR.
Не очень хорошо, я знаю, но это казалось наименьшим количеством хлопот. Не решает всех ваших проблем, но может быть полезным аспектом для рассмотрения в качестве плана Б.