我正在尝试使用Imports:而不是Depends:在我的软件包的DESCRIPTION文件中,但我仍然觉得我还有更多要了解的内容;-) 我从this post学到的东西(顺便说一下:真棒!!!)就是我的包装,比如mypkg,通过
我从this post学到的东西(顺便说一下:真棒!!!)就是我的包装,比如mypkg,通过Imports导入(比如imported.pkg):生活在环境导入中:mypkg而不是附加到搜索路径.在尝试查找与imported.pkg一起提供的foo时,R会在遍历搜索列表之前查找导入:mypkg.到现在为止还挺好.
实际问题
如果import.pkg(由mypkg导入)依赖于某个其他包(在包的说明文件的Depends:部分中说明),我是否需要使这个包取决于:我的包的依赖性以便R找到函数那个包裹?所以在我看来,其他R抱怨.
证据
似乎只是导入这样的包是不够的.例如,拿包roxygen2(CRAN).它在导入一堆其他包时依赖于摘要.我导入它(以及mypkg也需要它的摘要)并检查环境导入:mypkg列出了摘要功能:%parent.env中的“digest”%(asNamespace(“mypkg”))返回TRUE
然而,当从作为mypkg一部分的函数中运行roxygenize()时,R抱怨它无法找到摘要.
你可以看看我的博客: http://r2d2.quartzbio.com/posts/package-depends-dirty-hack-solution.html 现在我有一个更好,更清洁的解决方案,但尚未发布. 希望能帮助到你.