无法再在 R 中安装软件包:dbus 错误

问题描述 投票:0回答:1

突然间,我无法使用

install.packages
在 R 中安装更多软件包。对于我想要安装的任何软件包(包括随机字符),我收到以下错误消息:

> install.packages('tensorA')
Error in install.packages : dbus: Call failed: Traceback (most recent call last):  File "/usr/lib/python3/dist-packages/dbus/service.py", line 658, in _message_cb    (candidate_method, parent_method) = _method_lookup(self, method_name, interface_name)  File "/usr/lib/python3/dist-packages/dbus/service.py", line 248, in _method_lookup    raise UnknownMethodException('%s is not a valid method of interface %s' % (method_name, dbus_interface))dbus.exceptions.UnknownMethodException: org.freedesktop.DBus.Error.UnknownMethod: Unknown method: available is not a valid method of interface org.r_project.linux1.PackageManager

这是我的会议信息:

R version 4.3.2 (2023-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.6 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3;  LAPACK version 3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=de_DE.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=de_DE.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=de_DE.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       

time zone: Europe/Berlin
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods  
[7] base     

loaded via a namespace (and not attached):
[1] compiler_4.3.2  cli_3.6.1       tools_4.3.2     rstudioapi_0.14
[5] bspm_0.5.1      rlang_1.1.0 

任何提示表示赞赏!

r dbus install.packages
1个回答
0
投票

该操作正在尝试联系

bspm
服务(这似乎是一个帮助服务,使用操作系统包管理器 – dnf、apt、pacman 等 – 来安装 R 包)。这恰好是通过 D-Bus 完成的,但错误消息实际上与 D-Bus 无关;它来自
bspm
本身。

该消息表明 R 尝试调用

available()
函数,该函数在服务中不存在。根据 Git 提交日志,该功能是在 bspm 的 0.3.10.1 版本中添加的。 使用

busctl status org.r_project.linux1.PackageManager

(有或没有

--user
,我不确定)来查找当前提供此服务的进程(PID和命令行)。很可能 bspm 已升级,但旧版本仍在运行;杀死进程并让它自动重新启动。
(您也可能以某种方式拥有两个版本的 bspm – R 正在尝试使用 0.5.1,它期望 

available()

方法可用,但 D-Bus 设置为自动启动更旧的版本。)

    

© www.soinside.com 2019 - 2024. All rights reserved.