【问题标题】:Cannot install ggplot2: "Error in library.dynam(lib, package, package.lib) : shared object ‘stringi.so’ not found"无法安装 ggplot2:“library.dynam (lib, package, package.lib) 中的错误:找不到共享对象‘stringi.so’”
【发布时间】:2015-08-06 21:41:59
【问题描述】:

上周我从 Ubuntu 14.04 升级到 14.10。自更新以来,我第一次尝试在 RStudio 中使用 ggplot,我的 ggplot 包出现依赖错误,并且不再注册为已安装(之前工作正常)。当我尝试重新安装 ggplot2 时:

install.packages("ggplot2",dep=TRUE)

尝试安装依赖项时安装失败。输出的尾部如下所示:

* installing *source* package ‘stringr’ ...
** package ‘stringr’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
Error in library.dynam(lib, package, package.lib) : 
  shared object ‘stringi.so’ not found
ERROR: lazy loading failed for package ‘stringr’
* removing ‘/home/james/R/x86_64-pc-linux-gnu-library/3.1/stringr’
Warning in install.packages :
  installation of package ‘stringr’ had non-zero exit status
ERROR: dependency ‘stringr’ is not available for package ‘reshape2’
* removing ‘/home/james/R/x86_64-pc-linux-gnu-library/3.1/reshape2’
Warning in install.packages :
  installation of package ‘reshape2’ had non-zero exit status
ERROR: dependency ‘reshape2’ is not available for package ‘ggplot2’
* removing ‘/home/james/R/x86_64-pc-linux-gnu-library/3.1/ggplot2’
Warning in install.packages :
  installation of package ‘ggplot2’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpWNyAha/downloaded_packages’

我觉得这是我应该查看的行(下方),但我不确定如何解释此错误,有人对我有什么建议吗?我真的不知道从哪里开始,因为我找不到任何其他人遇到与我相同的错误。

Error in library.dynam(lib, package, package.lib) : 
  shared object ‘stringi.so’ not found

不确定我所做的 Ubuntu 升级是否与此有关……但我想我会提一下以防万一。

【问题讨论】:

  • 你应该使用引号:install.packages("ggplot2", dependencies = TRUE).
  • 好收获!但这实际上只是我的问题中的一种类型,因为我确实包含了引号以获取我发布的输出。我已经更新了帖子。
  • 尝试用install.packages("stringi")重新安装包stringi
  • 似乎dependencies = TRUEggplot2 失败。所以,你需要install.packages("stringr", dep=TRUE),然后是install.packages("ggplot2", dep=TRUE)
  • @Pascal:这是我的第一个想法,但依赖标志实际上工作正常。安装依赖包stringr时出现错误。即使在运行install.packages("stringi") 时,仍然会出现错误。 @尼克肯尼迪:太棒了!就是这样!我没有意识到stringi 是一个包。安装该依赖包时出错。我在下面添加了一个答案,以显示我必须采取的最后步骤来解决它。

标签: r ubuntu ggplot2


【解决方案1】:

根据@Nick Kennedey 的评论,我尝试像这样安装stringi

> install.packages("stringi",dep=TRUE)

这导致了我以前从未见过的错误:

2015-08-07 10:26:35 (256 KB/s) - ‘/tmp/RtmpQI4Uau/downloaded_packages/stringi_0.5-5.tar.gz’ saved [3639183/3639183]

ERROR: failed to lock directory ‘/home/james/R/x86_64-pc-linux-gnu-library/3.1’ for modifying
Try removing ‘/home/james/R/x86_64-pc-linux-gnu-library/3.1/00LOCK-stringi’
Warning in install.packages :
  installation of package ‘stringi’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpQI4Uau/downloaded_packages’
> install.packages("stringi",dep=TRUE)

所以我按照错误中的建议删除了 LOCK 文件夹。

在终端:rm -r /home/james/R/x86_64-pc-linux-gnu-library/3.1/00LOCK-stringi’

然后尝试再次安装stringi 包,它成功了!这就是问题所在......现在我刚刚完成安装,没有任何问题。

不过,我仍然有点困惑......至于这个错误是如何产生的。关于导致这种情况的任何想法,以便我将来可以避免它?这可能是我最近升级到 14.10 的症状吗?

【讨论】:

  • install.packages("stringr", dep=TRUE) 安装 stringi... 但 install.packages("ggplot2", dep=TRUE) 既不安装 stringi 也不安装 stringr
  • 在这种情况下不是...我查看了我的 RStudio 历史记录,我可以确认我昨晚已经尝试过 install.packages("stringr" = TRUE) 并且没有解决错误。我不再有原始的控制台输出,但我想我记得stringr 安装返回的错误与我在安装带有依赖项的ggplot2 时遇到的错误完全相同。只有当我尝试安装 stringi 时,我才看到这个指向解决方案的新错误
  • 在我的情况下,这是因为我通过强制关闭 R 取消了安装进度。这导致创建但不删除一些临时文件夹:ERROR: failed to lock directory ‘/home/user/R/x86_64-pc-linux-gnu-library/3.4’ for modifying Try removing ‘/home/user/R/x86_64-pc-linux-gnu-library/3.4/00LOCK-stringi’。我按照指示删除了文件夹,重新安装了stringi,它可以工作了。
  • 您的主目录或R 文件夹中是否有.RProfile,如果有,请您写下它的内容吗?
【解决方案2】:

安装install.packages("knitr")时遇到同样的错误

dyn.load(file, DLLpath = DLLpath, ...) 中的错误: 无法加载共享对象'/usr/local/lib/R/site-library/stringi/libs/stringi.so'

我通过以下操作解决了它:

在 Ubuntu 16.04 及更高版本中

sudo apt install r-cran-stringi

在早期版本中(有 apt-get)

sudo apt-get install r-cran-stringi

【讨论】:

    【解决方案3】:

    就我而言,我通过从 linux 终端安装 stringi 和 ggplot2 解决了这个问题。该问题与 RStudio 有一定关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-29
      • 2016-08-16
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2019-05-18
      相关资源
      最近更新 更多