【发布时间】:2018-03-07 23:01:33
【问题描述】:
我在R 包开发方面遇到了一个特别棘手的问题。我自己的包名为ggstatsplot (https://github.com/IndrajeetPatil/ggstatsplot),它依赖于userfriendlyscience,它依赖于另一个名为MBESS 的包,它本身最终依赖于另一个名为gsl 的包。在 Windows 机器上安装ggstatsplot 完全没有问题(由AppVeyor 持续集成平台评估:https://ci.appveyor.com/project/IndrajeetPatil/ggstatsplot)。
但是每当要在Unix机器上安装包时,它会抛出ggstatsplot无法下载的错误,因为userfriendlyscience和MBESS无法下载,因为@ 987654336@无法下载。在带有虚拟 Unix 机器的 Travis 持续集成平台上也发现了同样的情况,其中包构建失败 (https://travis-ci.org/IndrajeetPatil/ggstatsplot)。
现在为 Unix 机器上的用户解决此问题的一种方法是配置 GSL(如下所述:
installing R gsl package on Mac),但我不能指望ggstatsplot 的每个用户都经历配置GSL 的艰巨过程。我希望他们只运行install.packages("ggstatsplot") 并完成它。
因此,如果有人能提供任何有用的建议,我将非常感激我如何通过从源头上消除这个问题来让我的包用户的生活变得更简单。我应该在包本身中包含一些东西来代表用户处理这个问题吗?
【问题讨论】:
-
我认为情况并没有你想象的那么糟糕。 R
gsl包在 Mac 上以二进制形式提供,因此离开 Linux。 GSL 为大多数 Linux 发行版打包,例如,在 Ubuntu 上为libgsl-dev和libgsl2。因此,Mac 和 Windows 用户使用install.packages("ggstatsplot"),Linux 用户使用apt-get install libgsl-dev libgsl2,然后是install.packages("ggstatsplot")。这一切对我来说似乎都很典型。 -
@Ista 感谢您的意见,很高兴听到这不是我认为的那么大的问题。我个人不使用 Mac 或 Linux,所以这纯粹基于我用来检查包构建的 CI 平台,并且对 Mac 上的错误感到困惑,但在 Windows 上却没有。例如,
install.packages("ggstatsplot")适用于 Windows,但 不 适用于 Mac,我不知道为什么会这样。换句话说,为什么 Windows 用户不会面临与 Mac 和 Ubuntu 用户相同的问题。我已经要求使用 Mac 的同事安装我的包,但每次都失败,但在 Windows 上从来没有。 -
我目前无法访问 Mac,但我会在访问时查看。我的假设是 Windows 用户没有问题,因为 CRAN 已经为他们构建了 R 包。这也适用于 Mac 用户,所以我希望它也能在那里工作。有空我会检查的。
-
我在 Mac 上进行了检查,
gsl安装并运行良好。无需安装 GSL。 -
@Ista 感谢您的检查。是的,那是因为我昨晚根据下面发布的答案推动了一些新的变化。现在包安装在
osx上工作得很好,但在Linux(travis-ci.org/IndrajeetPatil/ggstatsplot) 上仍然存在问题。现在正在努力解决这个问题。