【问题标题】:RStudio installation failure under Debian sid: libgstreamer dependency problemsDebian sid下RStudio安装失败:libgstreamer依赖问题
【发布时间】:2016-09-29 18:41:12
【问题描述】:

我使用 Debian sid (amd64),每周滚动更新一次。我最近从他们的官方网站下载了 RStudio 的桌面版本 0.99.902 并发布(当然是以 root 身份):

dpkg -i rstudio-0.99.902-amd64.deb

无济于事:

dpkg:依赖问题阻止了 rstudio 的配置: rstudio 依赖于 libgstreamer0.10-0;然而: 未安装软件包 libgstreamer0.10-0。 rstudio 依赖于 libgstreamer-plugins-base0.10-0;然而: 未安装软件包 libgstreamer-plugins-base0.10-0。

这两个软件包的较新版本 (1.0-0) 已安装在系统上,但那些较旧的版本 (0.10-0) 在官方 Debian 存储库中不再可用。

应该做些什么来安装 RStudio 并在 Debian 席位?当然,我已经从官方 Debian 安装了 R debs 存储库,没有任何问题...

感谢您的帮助!

【问题讨论】:

  • 在 Ubuntu 16.10 下存在完全相同的问题(我认为在这种情况下同样的响应是有效的):support.rstudio.com/hc/en-us/community/posts/…
  • rstudio预览版使用的是最新版本的libgstreamer,请确保下载的是Debian 9+ (64-bit)版本,而不是Ubuntu 14/Debian 8 (64-bit)版本。

标签: r debian rstudio gstreamer


【解决方案1】:

2017 年 7 月 20 日发布的 RStudio 1.0.153 依赖于 GStreamer 1.0 而不是 GStreamer 0.10。它可以安装在现代 Debian/Ubuntu 上,无需任何额外设置,从而使这个问题和我的答案过时。

更具体地说,有两个不同的 DEB 包。一种针对 Ubuntu 16.04(或更高版本)和 Debian 9(或更高版本),仅提供 64 位版本,并且依赖于较新的 GStreamer 1.0。另一个软件包支持从 12.04 到 15.10 的 Ubuntu 和 Debian 8,它有 32 位和 64 位两种版本。这个仍然依赖于旧的 GStreamer 0.10。

原始答案仍在下方。


截至 2016 年年中,RStudio 严重依赖 GStreamer 0.10,并且无法绕过它。您必须安装 libgstreamer0.10-0libgstreamer-plugins-base0.10-0 才能使用 RStudio。

这些软件包可以很容易地从 Debian Jessie (stable) 中获取。只需将 Jessie 存储库添加到您的 sources.list 并使用 apt-pinning 降低优先级:

# /etc/apt/sources.list:
deb http://httpredir.debian.org/debian jessie main
# /etc/apt/preferences.d/01_release:
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 600

Package: *
Pin: release o=Debian,n=jessie
Pin-Priority: 10

然后发出apt-get update 并跟进apt-get install libgstreamer0.10-0 libgstreamer-plugins-base0.10-0

如果您碰巧将 RStudio .deb 文件放入本地存储库,则使用 apt-get install rstudio 并且 GStreamer0.10 将被依赖解析器拉入。这具有将这些库标记为自动安装的额外优势 - 一旦 RStudio 将它们作为依赖项删除,它们将被自动删除。

但这会破坏我的系统吗?

没有。

上游开发人员将 GStreamer0.10 和 GStreamer1.0 设计为可共同安装且能够同时运行 (source)。事实上,从 September 2012April 2016,两者都在 Debian 存储库中可用。

在此固定设置中,仅当 Jessie 是所请求包的唯一提供者时,才会从 Jessie 存储库中提取包。不存在用来自 stable 的旧版本覆盖任何来自不稳定的包的风险。

为什么 RStudio 依赖过时的库?

因为 GStreamer0.10 是 Debian Jessie 和 Ubuntu 12.04 中可用的最新版本,他们希望支持这两个发行版。

RStudio 最终将不得不将其依赖升级到 GStreamer1.0,因为它将逐渐成为唯一可用的版本。我猜这个变化可能会在 2017 年春季推出。首先,对 Ubuntu 12.04 的支持将在 4 月结束。 Rstudio 可能会将基本系统要求提高到 14.04 - 同时具有 GStreamer0.10 和 1.0 的系统要求。其次,Debian Stretch - 只有 GStreamer1.0 可用 - 预计将在那个时候发布。

【讨论】:

  • 感谢您的回答。它对我有用。只是一个小评论,以防其他人遇到相同的错误:您提到了文件/etc/apt/preferences.d/01.release,但它在apt-get up{date,grade} 期间引起了问题,因为它发现它具有无效的扩展名。所以,我只是用破折号(即/etc/apt/preferences.d/01-release:)替换点,它工作得很好。
  • @nullgeppetto:我一定是在写答案的时候搞砸了。在我的系统上,它是/etc/apt/preferences.d/01_releases - 带有下划线,而不是点。我已经更正了我的答案。很高兴您能够弄清楚并且这种方法对您有用。
  • 我还必须添加密钥才能工作:wget -O - https://ftp-master.debian.org/keys/archive-key-8.asc | sudo apt-key add -wget -O - https://ftp-master.debian.org/keys/archive-key-8-security.asc | sudo apt-key add -
【解决方案2】:

我发现 Miroslaw 的回答非常好。但是,由于时间的流逝,您将需要另外一个包:libssl1.0.0,因此您的设置 apt-get 看起来像 apt-get install libgstreamer0.10-0 libgstreamer-plugins-base0.10-0 libssl1.0.0

【讨论】:

    【解决方案3】:
    1. 从任何镜像中为您的机器下载libgstreamer0.10-0
    2. 在下载文件的目录中打开终端。
    3. 使用命令sudo dpkg -i file.deb 安装它。示例sudo dpkg -i libgstreamer0.10-0_0.10.36-1ubuntu1_amd64.deb
    4. 现在打开rstudio.deb所在的目录,用同样的方法安装。

    【讨论】:

      【解决方案4】:
      猜你喜欢
      • 2017-03-17
      • 2017-02-28
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 2014-06-24
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多