【问题标题】:R Debugger in Visual Studio Code does not work despite being installed尽管已安装,Visual Studio Code 中的 R 调试器仍无法运行
【发布时间】:2022-12-26 05:13:04
【问题描述】:

我正在尝试在 Visual Studio Code 中运行 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 相关的所有 visual studio 代码扩展,然后重新安装它们。

【问题讨论】:

标签: r debugging visual-studio-code vscode-debugger


【解决方案1】:

我也遇到了同样的问题。

经过数小时深入研究不同的堆栈溢出问题并尝试不同的解决方案后,我终于找到了适合我计算机的解决方案。不知道它是否适用于您的。

这些是我为解决它而遵循的步骤(我想你已经完成了前三个步骤,但我发布它们以防万一有人出现并且真的迷失了这个问题):

1.在 vs code 中打开要调试的 R 文件所在的文件夹(文件 -> 打开文件夹... - 或者按 Ctrl+K 并在 Ctrl+O 之后)

2.在 vs 代码左侧选项卡中的“运行和调试”按钮上创建 .json 调试器文件。它将创建一个 .json 文件,用于在您选择的文件夹中调试 R 文件步骤1(附图片)。

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文件夹。就我而言,这是小路:C:UsersmyuserAppDataLocalProgramsRR-4.2.2库但它可以在您的情况下位于不同的目录中。通常,程序安装在C:程序文件.所以你应该有这样的东西:C:Program FilesRR-4.2.2库.检查那里如果你有jsonliteR6文件夹。

如果您没有它们,请在上面编写以下命令来安装它们R互动终端:install.packages(c("jsonlite","R6")).计算机可能会告诉您它没有权限将它们安装到库文件夹中,但它让您有机会在另一个文件夹中执行此操作。如果发生这种情况,请将它们下载到另一个文件夹,然后将它们传递到图书馆文件夹。

Step 5: install.packages command

6. 下载著名的vsc调试器从此网址打包:https://github.com/ManuelHentschel/vscDebugger/releases/tag/v0.5.2并将文件夹粘贴到图书馆文件夹中还有jsonliteR6包裹。

Step 6: zip to download

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 2022-09-20
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多