首页 文章

所需的包不会自动安装

提问于
浏览
2

我创建了我的第一个R包,并有一个问题 .

包在我的计算机上成功运行 . 但是,如果我的用户(没有所需的软件包)运行我的软件包,他们将收到错误消息,说明所需的软件包不可用 . 当他们从CRAN手动安装该软件包时,我的软件包就可以运行了 .

根据Hadley Wickam的书(http://r-pkgs.had.co.nz/description.html):

导入:此处列出的软件包必须存在才能使您的软件包正常工作 . 事实上,无论何时安装软件包,这些软件包(如果尚未安装)都将安装在您的计算机上(devtools :: load_all()还会检查软件包是否已安装) .

我将所有必需的包放在 DESCRIPTIONImports 字段中 . 怎么没有自动安装所需的包?我的用户在使用我的用户之前是否需要安装所有必需的软件包?

Additional background:

  • 我在我的脚本中使用约定 package_name::function_name .

  • 我将包作为二进制包分发 .

  • 用户从其本地目录安装软件包,因此在调用install.packages时无法指定DEPENDENCIES = TRUE .

我做了什么:

谢谢!

2 回答

  • 0

    你可以尝试使用

    devtools::install_deps()
    

    要么

    devtools::install_deps("pkg_version.tar.gz")
    

    但是,这个功能似乎存在一些问题,例如: https://github.com/r-lib/devtools/issues/1370

    替代方案是使用链接问题中建议的 drat .

  • 1

    刚刚发现没有安装依赖项,因为我的软件包没有从CRAN repo安装 .

    使用 devtools::install_local("pkgname.tar.gz") 将安装包和任何依赖项 .

相关问题