debugging R尽管安装了Visual Studio代码中的调试器,但调试器不工作

j7dteeu8  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(265)

我尝试在Visual Studio代码中运行R代码,但收到以下错误
'

Fehler in dyn.load(file, DLLpath = DLLpath, ...) : 
  kann shared object '/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/vscDebugger/libs/vscDebugger.so' nicht laden:
  dlopen(/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/vscDebugger/libs/vscDebugger.so, 0x0006): tried: '/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/vscDebugger/libs/vscDebugger.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))

'
我不知道为什么错误信息的第一部分不是英语,尽管英语是设置语言,但这不是问题所在。它只是说它无法加载对象vscDebugger.so
同时弹出一个窗口,显示“请安装R包vscDebugger”,并要求我打开launch.json,如下所示

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "R-Debugger",
            "name": "Launch R-Workspace",
            "request": "launch",
            "debugMode": "workspace",
            "workingDirectory": "${workspaceFolder}"
        },
        {
            "type": "R-Debugger",
            "name": "Debug R-File",
            "request": "launch",
            "debugMode": "file",
            "workingDirectory": "${workspaceFolder}",
            "file": "${file}"
        },
        {
            "type": "R-Debugger",
            "name": "Debug R-Function",
            "request": "launch",
            "debugMode": "function",
            "workingDirectory": "${workspaceFolder}",
            "file": "${file}",
            "mainFunction": "main",
            "allowGlobalDebugging": false
        },
        {
            "type": "R-Debugger",
            "name": "Debug R-Package",
            "request": "launch",
            "debugMode": "workspace",
            "workingDirectory": "${workspaceFolder}",
            "includePackageScopes": true,
            "loadPackages": [
                "."
            ]
        },
        {
            "type": "R-Debugger",
            "request": "attach",
            "name": "Attach to R process",
            "splitOverwrittenOutput": true
        }
    ]
}

顶部显示版本为0.2.0,但如果我运行packageVersion('vscDebugger '),它会返回0.4.7作为当前版本。
这一切都是一团糟。为什么我必须安装vsc调试器时,它已经安装了,为什么有冲突的版本?还有,错误消息的最后一部分说,关于一个不兼容的文件架构的东西。这是怎么回事?我安装错了吗?我在macOS版本12.6和我的R版本是4.2.1
我已经试着卸载了所有与R相关的VisualStudio代码扩展,我重新安装了它们。

plupiseo

plupiseo1#

我也遇到了同样的问题。
经过数小时对不同的堆栈溢出问题的深入研究,尝试不同的解决方案,我终于找到了适合我电脑的解决方案,但不知道它是否能在你的电脑上工作。
以下是我为了解决这个问题而采取的步骤(我想你已经完成了前三个步骤,但我还是把它们贴出来,以防万一有人沿着,真的在这个问题上迷路了):

**1.**在vs代码中打开您要调试的R文件所在的文件夹(文件-〉打开文件夹... -或按Ctrl+K,然后按Ctrl+O)
**2.*在vs代码左侧标签页的“运行并调试”按钮上创建.json调试器文件。它将在您在 * 步骤1 中选择的文件夹中创建一个用于调试R文件的.json文件(随附图片)。

Step 2: Creating .json debugger file

**3.**转到您的程序并开始调试。

Step 3: Start Debugging

请不要在这里抓狂

很有可能你在这里是因为这一步对你不起作用。一个紧急窗口出现并告诉你:vscdebugger没有安装或类似的东西,并给出了打开您刚刚在步骤2中创建的.json文件的选项。
此外,在 * 调试控制台 * 上将显示一条消息,内容如下:* 安装r.debugger.updateRPackage到你的电脑,你可以按ctrl+shift+p* 来完成。所以,这是下一步:

**4.**尝试在 * 命令调色板 * 上安装r.debugger.updateRPackage(单击ctrl+shift+p)

Step 4: installing r.debugger.updateRPackage
计算机将打开一个终端任务来安装它。如果它工作正常,你就完成了,恭喜你:)。如果没有--像我一样--这是因为在安装过程中出现了一个错误代码,这是由于,任务没有获得覆盖它想安装vscdebugger包的文件夹的权限。
因此,如果步骤4对您不起作用。请尝试以下操作:

**5.**检查您是否下载了 jsonliteR6 包。这些包应该位于 R 文件夹中的 library 文件夹中。在我的情况下,这是 pathC:\Users\myuser\AppData\Local\Programs\R\R-4.2.2\library,但在您的情况下,它可以位于不同的目录。通常,程序安装在 C:\Program Files 中。因此,您应该具有如下内容:C:\Program Files\R\R-4.2.2\library。检查是否有 jsonliteR6 文件夹。

如果没有,请在 R Interactive 终端上写入以下命令进行安装:install.packages(c(“jsonlite”,“R6”)).计算机可能会告诉你它没有权限在库文件夹上安装它们,但它给了你在另一个文件夹上进行安装的机会,如果发生这种情况,将它们下载到另一个文件夹上,然后,将它们传递到 library 文件夹。
Step 5: install.packages command

6.****从以下URL下载著名的 vscdebugger包:https://github.com/ManuelHentschel/vscDebugger/releases/tag/v0.5.2,并将该文件夹粘贴到 library 文件夹中,其中还包含 jsonliteR6 包。

Step 6: zip to download

**7.**再次尝试调试(步骤3)。现在,它应该可以工作了!!!!

相关问题