无法在R中安装包:dbus调用失败错误求助
解决R中
install.packages因DBus错误无法安装包的问题 问题症状
调用install.packages时触发DBus接口方法不存在错误,示例报错:
> 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
核心原因
加载的bspm包(版本0.5.1)用于集成Linux系统包管理器,但其DBus接口与当前系统服务存在兼容性问题,导致方法调用失败。
解决步骤
1. 临时绕过bspm直接安装包
在R中执行以下命令,强制使用R默认的源码安装机制:
options(pkgType = "source") install.packages("tensorA")
或直接指定安装类型:
install.packages("tensorA", type = "source")
2. 卸载并重装bspm包
若需继续使用bspm工具,先卸载现有版本:
remove.packages("bspm")
重装后重新启用:
install.packages("bspm") bspm::enable()
3. 检查并修复系统DBus服务
打开终端,检查DBus服务状态:
systemctl status dbus
若服务异常,执行重启命令:
sudo systemctl restart dbus
4. 切换bspm版本
如果当前0.5.1版本存在兼容性bug,尝试安装旧版本:
install.packages("https://cran.r-project.org/src/contrib/Archive/bspm/bspm_0.4.0.tar.gz", repos = NULL, type = "source")
后续可关注CRAN更新,升级到修复后的新版本。
内容的提问来源于stack exchange,提问作者SimonS
相关产品推荐
相关产品推荐

