我尝试在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代码扩展,我重新安装了它们。
1条答案
按热度按时间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.**检查您是否下载了 jsonlite 和 R6 包。这些包应该位于 R 文件夹中的 library 文件夹中。在我的情况下,这是 path:C:\Users\myuser\AppData\Local\Programs\R\R-4.2.2\library,但在您的情况下,它可以位于不同的目录。通常,程序安装在 C:\Program Files 中。因此,您应该具有如下内容:C:\Program Files\R\R-4.2.2\library。检查是否有 jsonlite 和 R6 文件夹。
如果没有,请在 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 文件夹中,其中还包含 jsonlite 和 R6 包。
Step 6: zip to download
**7.**再次尝试调试(步骤3)。现在,它应该可以工作了!!!!