Man*_*l R 6 debugging r rstudio rtools r-4.0.0
我已经更新到 R4.0.0和 RStudio 版本1.2.5042。
我正在开发一个包,我经常使用以下工作流程:
--with-keep.sourceR CMD INSTALL 选项)从 RStudio 中构建包。.R我要调试的函数的文件中设置断点。这曾经很好地工作。但是,现在我总是得到:
调试位置是近似的,因为源不可用
这是 annyoing,因为我仍然可以调试,但我不在实际功能中了。
任何提示/想法为什么会这样?
这似乎是 RStudio 和 R 4.0.0 的问题。这就是我这么认为的原因。我使用了另一台运行 Windows 10 的机器并执行了以下步骤(按此顺序;对于 Windows 用户应该可以重现)。一开始我安装了 R 3.6.1 和 RStudio 1.2.5042(在撰写本文时,1.2.5042 是当前版本;也尝试使用 RStudio 的预览版 1.3.957)。
克隆我从 Github 开发的包:
git clone "https://github.com/M-E-Rademaker/cSEM"
Run Code Online (Sandbox Code Playgroud)转到包根目录并打开 cSEM.Rproj
devtools::install_github("M-E-Rademaker/cSEM")自动安装包并下载所有cSEM依赖的包。Build”安装和“ 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)
Run Code Online (Sandbox Code Playgroud)
调试器应启动,带你有权线321你应该能够改变的代码,你应该不得到“调试位置是-近似值,因为最源是-不速效”警告如果你是在低于 4.0.0 的 R 版本上。
R/00_csem.R并删除第 321 行中的断点installr::updateR())cSEM.Rproj再次打开;跑install.packages("devtools")这是为什么?欢迎任何想法/提示/建议!!
我尝试过的其他事情:
devtools::install_github()我使用您的包对此进行了调查,并发现您在这里看到的是 RStudio/R 界面中相当深的一个错误,这是由 R 4.0 中围绕源引用所做的一些细微更改引起的。
每当\函数代码中有反斜杠 ( )时,问题就会发生。发生这种情况时,R 正在对其进行转义,这导致 RStudio 认为您正在查看的函数副本与文件中的副本不同,这反过来又导致它在代码浏览器中向您显示副本而不是打开文件本身。
由于您的csem()函数包含反斜杠,因此会触发该问题。我已经在我们的问题跟踪器上写下了这个:
https://github.com/rstudio/rstudio/issues/6854