Я обновился до R 4.0.0
и версии RStudio 1.2.5042
.
Я разрабатываю пакет и регулярно использую следующий рабочий процесс:
- Создайте пакет из RStudio, нажав кнопку «Установить и перезагрузить» (включая опцию
--with-keep.source
R CMD INSTALL). - Установите точку останова в файле
.R
функции, которую я хочу отладить. - Вызовите функцию и подождите, пока отладчик остановится именно там, где я установил точку останова.
Раньше это работало хорошо. Однако теперь я всегда получаю:
Местоположение отладки является приблизительным, поскольку источник недоступен
Это раздражает, потому что я все еще могу отлаживать, но я не в реальной функции больше.
Любые подсказки / идеи, почему это так?
Редактировать (11.05.2020)
Похоже, это проблема с RStudio и R 4.0 +0,0. Вот почему я так думаю. Я использовал другую машину с Windows 10 и выполнил следующие действия (в таком порядке; должен воспроизводиться для Windows пользователей). Вначале у меня были R 3.6.1 и RStudio 1.2.5042 (на момент написания 1.2.5042 была текущая версия; пробовал также с предварительной версией 1.3.957 RStudio).
Клонируйте пакет, который я разрабатываю из Github:
git clone "https://github.com/M-E-Rademaker/cSEM"
Go в пакет root и откройте cSEM.Rproj
- Запустите
devtools::install_github("M-E-Rademaker/cSEM")
, чтобы автоматически установить пакет и загрузить все пакеты, от которых cSEM
зависит. - В RStudio: нажмите "
Build
" install и "Install and Restart
" - Теперь перейдите к исходному файлу. Например:
R/00_csem.R
и установите точку останова, например, в строке 321. Теперь запустите следующий фрагмент кода:
model <- "
# Structural model
eta2 ~ eta1
eta3 ~ eta1 + eta2
# Measurement
eta1 =~ y11 + y12 + y13
eta2 =~ y21 + y22 + y23
eta3 =~ y31 + y32 + y33
"
res <- csem(threecommonfactors, model)
Отладчик должен запуститься и получить право строка 321. Вы должны быть в состоянии изменить код, и вы должны NOT получить "debug-location-is-приблизительный-потому что-источник-не-доступный" предупреждение ЕСЛИ вы используете версию R ниже 4.0.0.
- Go до
R/00_csem.R
и удалите точку останова в строке 321 - Закройте Rstudio и обновите R до 4.0.0 (используя, например,
installr::updateR()
) - ВАЖНО: также получите самую последнюю версию Rtools и следуйте инструкциям на веб-сайте, касающимся части, где вам нужно добавить rtools в PATH. https://cran.r-project.org/bin/windows/Rtools/
- Поскольку вам необходимо переустановить все пакеты: снова откройте
cSEM.Rproj
; запустите install.packages("devtools")
- Теперь повторите шаги 3, 4, 5 и 6.
- Отладчик должен снова остановиться на строке 321, однако на этот раз вы do получите предупреждение "debug-location-is-приближенный, потому что источник-не-доступен" .
Почему это так? Любые идеи / советы / предложения приветствуются !!
Другие вещи, которые я пробовал:
- Удаление пакета из win-библиотеки и переустановка
- Переустановка пакета из GitHub использование
devtools::install_github()
- Проверенный пакет root
- Обновлены все пакеты зависимостей
- Повторная процедура на разных машинах
- Я разрабатываю другой пакет, который вы можете клон из GitHub здесь: https://github.com/M-E-Rademaker/cSEM.DGP. Вы можете запустить ту же процедуру с этим пакетом, однако здесь я не получаю предупреждение при использовании 4.0.0 ... что, на мой взгляд, крайне странно.